上一次搞了apache的event模式优化,但是php的运行依然还是mod模式,于是今天就打算搞一下phpfpm.这个用很久了但是以前都是别人装好直接用,自己确实没装过.

原以为要走编译安装的一套流程,结果查资料发现PHP在 5.3.3 之后的版本已经将php-fpm写入php源码核心了,非常nice,所以这里就不探索怎么单独安装php-fpm了.

  1. 要想使php支持php-fpm,只需要找到你当初安装的源码,重新编译一下,在编译的时候带上 --enable-fpm 就可以了。(ps: 可以先找找php安装目录下面的sbin,里面如果已经有phpfpm,那说明你当初已经装过了)
  2.  在php安装目录的etc目录下有个php-fpm.conf.default,复制一份改名为php-fpm.conf(关于这个配置文件怎么设置和优化,引用一位大佬总结的经验php-fpm的配置和优化),配置完成后,直接运行sbin/php-fpm,phpfpm就启动了.一般来说按照大佬总结的经验配置好后不会有报错,如果有再解决吧.

  3. 修改apache的conf

    1. 去除LoadModule proxy_module modules/mod_proxy.so和LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so前面的#注释,同时注释php5_module;

    2. <IfModule dir_module>
          #DirectoryIndex index.html index.php
          DirectoryIndex index.php index.html
          #如果你的项目有用到authorization,请添加这一项,不然必报错
          SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
      </IfModule>

    3. 在文件最后增加
       <FilesMatch \.php$>
          SetHandler “proxy:fcgi://127.0.0.1:9000”
      </FilesMatch>,这一步是为了让apache和php-fpm能通信

    4. 在<IfModule mime_module>中增加AddType application/x-httpd-php .php和AddType application/x-httpd-php-source .phps

走完这些步骤后,重启php-fpm和apache,再次访问网页成功,大功告成.其实比想象中的要轻松些,当然中间也走了些弯路才搞懂的. 新手第一次尝试,大佬轻喷


版权声明:本文为paul_god原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/paul_god/article/details/125251431