php-fpm的pool

简介:

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,如需转载请自行联系原作者

相关文章
|
PHP
php-fpm的重启方法
php-fpm的重启方法
1385 0
|
应用服务中间件 PHP nginx
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
342 0
|
数据库 Windows
php.ini 配置 max_execution_time 和 FPM 配置 request_terminate_timeout
php.ini 配置 max_execution_time 和 FPM 配置 request_terminate_timeout
|
MySQL 关系型数据库 PHP
|
PHP
重启php-fpm服务遇到问题如何解决
重启php-fpm服务遇到问题如何解决
291 0
|
监控 应用服务中间件 PHP
zabbix php-fpm模板
启用php-fpm状态功能 [root@node1:~]# vim /usr/local/php-7.0.12_fpm/etc/php-fpm.conf pm.status_path = /status [root@node1:~]# cat /usr/local/php-7.0.12_fpm/etc/php-fpm.conf |grep status_path pm.status_path = /status 默认情况下为/status,当然也可以改成其他的,例如/chinasoft_status等等。
1142 0
|
NoSQL 测试技术 Apache
关于对php-fpm的压力测试
以前公司网站架构一直都是nginx+apache,因为apache市场占有率还是很大,稳定性也很好,加上版本已经升级到2.4,因为公司业务访问量不是很大,所以一直没考虑更换,但最近因为测试人员用jmeter连续测压测3轮200并发反馈很多报错,而且响应时间也比较久,最终想试试php-fpm替代apache看看效果如何。
3923 0
|
Web App开发 监控 应用服务中间件
|
监控 应用服务中间件 PHP