从apache mod_php到php-fpm

2 篇文章 0 订阅
1 篇文章 0 订阅

参考:http://www.onepx.com/from-apache-mod-php-to-php-fpm.html

很多文章说mod_php不能和apache mpm worker或者event共用,这也许是在apache 2.2版本时代流传下来的说法。自去年编译apache 2.4以来,我就一直在使用mpm event,而且根据我编译php 5.5的参数来看,我就是把php做为apache的一个内置模块。这样奇葩的配置存在一年多以后,我终于决定从mod_php过渡到php-fpm。

自apache 2.4.9以来,php-fpm协同apache一起工作所需要的配置没有以前那么复杂了,这是让我决定过渡的主要原因之一。

重新编译php,和之前编译参数差不太多,只需要去掉“–with-apxs2=/usr/local/apache2/bin/apxs”,加入“–enable-fpm”:

./configure –enable-shared –with-libxml-dir –with-gd –with-openssl –enable-mbstring –with-mcrypt –with-mysqli –with-mysql –enable-opcache –enable-mysqlnd –enable-zip –with-zlib-dir –with-pdo-mysql –with-jpeg-dir –with-freetype-dir –with-curl –without-pdo-sqlite –without-sqlite3 –enable-fpm
随后make、make install即可。为了让centos可以开机自动启动php-fpm,我们需要:

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod o+x /etc/init.d/php-fpm
chkconfig –add php-fpm
让php-fpm的配置文件生效:

mv /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
根据自己的需要修改这个conf文件,我个人喜欢:

user = daemon
group = daemon
listen = /dev/shm/php-fpm.sock
listen.owner = daemon
listen.group = daemon
pm = static
pm.max_children = 4 ;见下面解释
pm.max_requests = 2048
如果是多核cpu的vps或者服务器,上面的数值等于cpu数量即可;如果是单核的vps,那么pm.max_children = 2,即可达到一定的优化效果。

再说说apache这边需要的一点设置。由于我是从mod_php到php-fpm的,所以之前httpd.conf中的这几行需要注解掉:

LoadModule php5_module modules/libphp5.so

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值