上一次搞了apache的event模式优化,但是php的运行依然还是mod模式,于是今天就打算搞一下phpfpm.这个用很久了但是以前都是别人装好直接用,自己确实没装过.
原以为要走编译安装的一套流程,结果查资料发现PHP在 5.3.3 之后的版本已经将php-fpm写入php源码核心了,非常nice,所以这里就不探索怎么单独安装php-fpm了.
- 要想使php支持php-fpm,只需要找到你当初安装的源码,重新编译一下,在编译的时候带上
--enable-fpm
就可以了。(ps: 可以先找找php安装目录下面的sbin,里面如果已经有phpfpm,那说明你当初已经装过了) -
在php安装目录的etc目录下有个php-fpm.conf.default,复制一份改名为php-fpm.conf(关于这个配置文件怎么设置和优化,引用一位大佬总结的经验php-fpm的配置和优化),配置完成后,直接运行sbin/php-fpm,phpfpm就启动了.一般来说按照大佬总结的经验配置好后不会有报错,如果有再解决吧.
-
修改apache的conf
-
去除LoadModule proxy_module modules/mod_proxy.so和LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so前面的#注释,同时注释php5_module;
-
<IfModule dir_module>
#DirectoryIndex index.html index.php
DirectoryIndex index.php index.html
#如果你的项目有用到authorization,请添加这一项,不然必报错
SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
</IfModule> -
在文件最后增加
<FilesMatch \.php$>
SetHandler “proxy:fcgi://127.0.0.1:9000”
</FilesMatch>,这一步是为了让apache和php-fpm能通信 -
在<IfModule mime_module>中增加AddType application/x-httpd-php .php和AddType application/x-httpd-php-source .phps
-
走完这些步骤后,重启php-fpm和apache,再次访问网页成功,大功告成.其实比想象中的要轻松些,当然中间也走了些弯路才搞懂的. 新手第一次尝试,大佬轻喷