Apache的PHP-FPM-启用实例
PHP-FPM作为FastCGI进程管理器而广为熟知,它是PHPFastCGI实现的改进,带有更为有用的功能,用于处理高负载的服务器和网站。下面列出其中一些功能:
·拥有具有优雅(graceful)启动/停止选项的高级进程管理能力。
·可以通过不同的用户身份/组身份来以监听多个端口以及使用多个PHP配置。
·错误日志记录。
·支持上传加速。
·特别用于在处理一些耗时任务时结束请求和清空所有数据的功能。
·同时支持动态和静态的子进程重生。
·支持IP地址限制。
接下来我们要讨论的是,在运行CPanel11.52及EA3的CentOS7服务器上,于Nginx和Apache之上安装PHP-FPM,以及如何来通过CPanel管理这些安装好的多个PHP-FPM实例。
在我们开始安装前,先看看安装的先决条件。
启用Modproxyfcgi模块
启用MPM_Event
由于我们要将PHP-FPM安装到一台EA3服务器,我们需要运行EasyApache来编译Apache以启用这些模块。
这里,兄弟连php培训将为你简述以下的安装步骤。
步骤1:安装Epel仓库
步骤2:安装nDeployRPM仓库,这是此次安装中最为重要的步骤。
步骤3:使用yum从nDeploy仓库安装nDeploy和Nginx插件。
步骤4:启用/配置Nginx为反向代理。
完成这些步骤后,下面为服务器中所有可用PHP版本安装PHP-FPM包,EA3使用remi仓库来安装这些包。你可以运行这个nDeploy脚本来下载所有的包。
root@server1[~]#/opt/nDeploy/scripts/easy_php_setup.sh
Loadedplugins:fastestmirror,tsflags,universal-hooks
EA4|2.9kB00:00:00
base|3.6kB00:00:00
epel/x86_64/metalink|9.7kB00:00:00
epel|4.3kB00:00:00
extras|3.4kB00:00:00
updates|3.4kB00:00:00
(1/2):epel/x86_64/updateinfo|460kB00:00:00
(2/2):epel/x86_64/primary_db
运行该脚本将为PHP54,PHP55,PHP56和PHP70安装所有这些FPM包。
InstalledPackages
php54-php-fpm.x86_645.4.45-3.el7.remi@remi
php55-php-fpm.x86_645.5.31-1.el7.remi@remi
php56-php-fpm.x86_645.6.17-1.el7.remi@remi
php70-php-fpm.x86_647.0.2-1.el7.remi@remi
在以上安装完成后,你需要为Apache启用PHP-FPMSAPI。你可以运行下面这个脚本来启用PHP-FPM实例。
root@server1[~]#/opt/nDeploy/scripts/apache_php-fpm_setup.shenable
mod_proxy_fcgi.c
PleasechooseonedefaultPHPversionfromthelistbelow
PHP70
PHP56
PHP54
PHP55
ProvidetheexactdesiredversionstringhereandpressENTER:PHP54
ConfGen::lxblogger
ConfGen::blogr
ConfGen::saheetha
ConfGen::satest
which:nocagefsctlin(/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin)
info[rebuildhttpdconf]Missingownerfordomainserver1.centos7-test.com,forcelookuptoroot
Built/usr/local/apache/conf/httpd.confOK
Waitingfor“httpd”torestartgracefully…waitingfor“httpd”toinitialize……
…finished.
它会问你需要运行哪个PHP版本作为服务器默认版本,你可以输入那些细节内容,然后继续配置并为现存的域名生成虚拟主机文件。
我服务器上的默认PHP-FPM是PHP54,而我正要将我的域名的PHP-FPM实例单独修改成PHP55。当你为你的域修改PHP-FPM后,你可以通过访问phpinfo页面来确认。