php-fpm 的配置文件都放在/usr/local/php-fpm/etc/php-fpm php-fpm.conf内
php-fpm的pool
php-fpm pool是 php-fpm 的进程池,这个进程池中运行了多个子进程,用来并发处理所有连接的动态请求。为什..么要配置多个 pool ?Nginx 接收到 php 动态请求会传给 php-fpm 处理,php-fpm 调用 pool 中的子进程来处理动态请求,如果这个 pool 资源耗尽,会导致其他站点无法访问资源,报 502 错误,因此有必要设置多个 php-fpm pool。
Nginx可以配置多个主机,php-fpm也可以配置多个pool。
首先对php-fpm.conf做一个修改
# vim /usr/local/php-fpm/etc/php-fpm.conf
写入:include = etc/php-fpm.d/*.conf
然后创建配置文件目录和子配置文件:
#mkdir /usr/local/php-fpm/etc/php-fpm.d
#cd /usr/local/php-fpm/etc/php-fpm.d
#vim www.conf
写入:
[www]
listen = /tmp/php-fcgi.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
//第一行定义php-fpm的子进程启动模式,dynamic为动态模式
//第二行定义动态增加或减少的量不会超过设定的值
//第三行是针对dynamic模式,他定义php-fpm服务在启动服务时产生的子进程数量
//第四行是针对dynamic模式,他定义空闲时子进程数最少数量,若达到数值会派生新的子进程
//第五行是针对dynamic模式,他定义空闲时子进程数最多数量,若高于数值会开始清理空闲的子进程
//第六行是针对dynamic模式,他定义一个子进程最多处理的请求数,若达到数额会自动退出
#vim aming.conf
//写下如下内容
[aming]
listen = /tmp/aming.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-fpm/sbin/php-fpm -t
然后来重启一下php-fpm服务
#/etc/init.d/php-fpm restart
再来查看一下/tmp/*.sock
#ls /tmp/*.sock
# ps aux |grep php