Pool池是支持定义多个pool的。每个pool可以监听不同的sock、tcp/ip。那nginx有好几个站点,每个站点可以使用一个pool。这样做的好处是当其中的一个php502(可能是php资源不够)了。如果所有的网站使用同一个池,那其中一个网站发生一些故障,比如程序员写的一些程序有问题,就会把php资源耗尽,这样的结果就是其他站点的php也会502。所以有必要把每一个站点隔离开。每个pool的名字要唯一。
vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加
include = etc/php-fpm.d/*.conf //可以类似nginx的vhost把一个个池拆成不同文件
mkdir /usr/local/php/etc/php-fpm.d/
cd /usr/local/php/etc/php-fpm.d/
vim www.conf //内容如下
[www]
listen = /tmp/www.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
继续编辑配置文件
vim lsx.conf //内容如下
[lsx]
listen = /tmp/lsx.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
/usr/local/php/sbin/php-fpm –t
/etc/init.d/php-fpm reload
ls /tmp/
1.log-20171211 lsx.sock php-fcgi.sock
ps -axu|grep php
root 57940 14.1 0.9 227764 4928 ? Ss 15:55 0:01 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm 57941 2.3 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool www
php-fpm 57942 2.5 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool www
php-fpm 57943 2.8 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool www
php-fpm 57944 2.2 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool lsx
php-fpm 57947 3.0 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool lsx
php-fpm 57948 2.0 0.9 227740 4712 ? S 15:55 0:00 php-fpm: pool lsx
该怎么使用它们呢?
vim /usr/local/nginx/conf/nginx.conf //删除server部分
增加
include vhost/*.conf //在conf下面创建一个vhost子目录
[root@localhost conf]# pwd
/usr/local/nginx/conf
mkdir vhost
cd vhost/
pwd
/usr/local/nginx/conf/vhost
ls //在这两个fastcgi_pass分配不同的sock
lshx.conf lsx.conf
本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2059564,如需转载请自行联系原作者