1. 程式人生 > >php-fpm的pool

php-fpm的pool

/tmp tar master bin 就是 目錄 mit load listen

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

php-fpm的pool