书接上回,我们继续实操搭建nginx+php+mysql+thinkphp5。

背景查看买阿里云服务器,实操搭建nginx+php+thinkphp5全过程(1)

服务器配置查看买阿里云服务器,实操搭建nginx+php+mysql+thinkphp5全过程(2)

开始尝试初始化云盘,看买阿里云服务器,实操搭建nginx+php+mysql+thinkphp5全过程(3)

上一次,【停止】-【重新初始化云盘】,这次我点击了【强制停止】,【确定】。然后切换到云盘这边。

阿里金服rpc_阿里金服rpc

然后我选择账户密码,下面勾选默认。点击【确认重新初始化云盘】:

阿里金服rpc_初始化_02

 依然是严谨的短信认证,我是本人:

阿里金服rpc_服务器_03

 弹框提示正在初始化:

阿里金服rpc_初始化_04

 等待了30s左右,状态绿了:

阿里金服rpc_nginx_05

 顺便,记录一下云盘的详细信息:

阿里金服rpc_初始化_06

 言归正传,我们从云盘切换到实例,然后点击【远程连接】:

阿里金服rpc_阿里金服rpc_07

 我们再去看看,我们的刚才重启云盘重置了用户名密码,这边切换实例,修改一下密码:

阿里金服rpc_php_08

 这个时候,查看文件啥的,都是初始化的干净的环境:

阿里金服rpc_阿里金服rpc_09

 查看程序,也看不到之前安装过的痕迹:

阿里金服rpc_nginx_10

 终于,和新买来的服务器状态一样一样了,正式开启我们配环境的过程吧。


(我是分隔线)


本篇文章主要讲,我那个临期的阿里云服务器,我要让它最后发光发热,重置后实操搭建nginx+php+mysql环境的一些准备工作,下期再说具体每个怎么搭。后面还会给大家演示Thinkphp5的项目怎么跑起来。言归正传,先看一下目标和配置:

目标:搭建nginx+php+mysql

操作系统:CentOS 7.6 64位

CPU&内存:2核(vCPU)4 GiB

当前使用带宽:3Mbps

阿里金服rpc_初始化_11

 即将到期,我们抓紧时间。

进入【远程连接】,这次不再赘述,详细步骤看之前的几篇,我们进入shell命令行页面。

阿里金服rpc_服务器_12

 

1.安装源配置:

1.1 配置yum:

# 更新yum源

yum update

结果:

阿里金服rpc_服务器_13

 我选择yes,输入的y,但是感觉更新了个寂寞,没有看到这次目标源的记录。

阿里金服rpc_初始化_14

 终于Complete!

1.2安装epel

# 安装epel

yum -y install epel-release

先普及一下概念:

什么是EPEL 及 Centos上安装EPEL

RHEL以及他的衍生发行版如CentOS、Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定是重点,官方的rpm repository提供的rpm包也不够丰富,很多时候需要自己编译那太辛苦了,而EPEL恰恰可以解决这两方面的问题。

什么是EPEL?

EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。

结果:

阿里金服rpc_服务器_15

1.3查看可安装版本

 # 查询一下可安装的包和版本

yum list //如果前面执行了update,这边结果有很多【此条命令忽略】

# 具体查询要安装nginx

yum list nginx

结果:(nginx  v1.1.20)

阿里金服rpc_服务器_16

 # 具体查询要安装php

yum list php

结果:(php v5.4.16)

阿里金服rpc_nginx_17

 下面普及一下php的搭配php-fpm:

php-fpm只是一个php-fastcgi的管理器,为php提供管理服务

①.为什么会出现php-fpm 
   fpm的出现全部因为php-fastcgi出现,为了很好的管理php-fastcgi而实现的一个程序。
②.什么是php-fastcgi
   php-fastcgi 只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现的php-fpm)。
③.为什么不叫php-cgi
   其实在php-fastcgi出现之前是有一个php-cgi存在的,只是它的执行效率低下,因此被php-fastcgi取代。
④.那fastcgi和cgi有什么区别呢 ?
   这区别就大了,当一个服务web-server(nginx)分发过来请求的时候,通过匹配后缀知道该请求是个动态的php请求,会把这个请求转给php。
   在cgi的年代,思想比较保守,总是一个请求过来后,去读取php.ini里的基础配置信息,初始化执行环境,每次都要不停的去创建一个进程,读取配置,初始化环境,返回数据,退出进程,久而久之,启动进程的工作变的乏味无趣特别累。
   当php来到了5的时代,大家对这种工作方式特别反感,想偷懒的人就拼命的想,我可不可以让cgi一次启动一个主进程(master),让他只读取一次配置,然后在启动多个工作进程(worker),当一个请求来的时候,通过master传递给worker这样就可以避免重复劳动了。于是就产生了fastcgi。
⑤.fastcgi这么好,启动的worker用完怎么办 ?
   当worker不够的时候,master会通过配置里的信息,动态启动worker,等空闲的时候可以收回worker。
⑥.到现在还是没明白php-fpm 是个什么东西
   那就先看看php-fpm的全称PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.他就是来管理启动一个master进程和多个worker进程的程序。

以上,不懂就先攒着,等懂的时候回头来看就“奥,原来如此”。继续,

# 顺便查询一下php-fpm

yum list php-fpm

结果:(和php配套版本)

阿里金服rpc_nginx_18

 # 试着查一下mysql

yum list mysql

结果:(果然没有) 

阿里金服rpc_nginx_19

由于mysql 版权方面的限制, centos 7 没有内置mysql 服务器, 必须从mysql 官方进行安装。

今天又写了这么长,休息一会,下篇我们继续看实操搭建nginx+php+mysql环境。持续关注我,分享更多全栈开发成长经验,不喜勿喷,欢迎一起交流,哈哈哈~