php-fpm是用来处理php请求的,它的配置文件为/usr/local/php/etc/php-fpm.conf(路径随个人环境)
php-fpm.conf自带是有内容的不过大部分被注释掉了所以我们不妨删除原有的内容重新写入。
#> /usr/local/php/etc/php-fpm.conf # >单独使用可以清空一个文件
# vim/usr/local/php/etc/php-fpm.conf
[global] # 全局部分
pid =/usr/local/php/var/run/php-fpm.pid
error_log =/usr/local/php/var/log/php-fpm.log
[www] # pool部分(名称可以自定义)
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
pm = dynamic #动态管理,静态就是static
pm.max_children = 50 #子进程最大50个
pm.start_servers = 20 #服务启动时生成20个子进程
pm.min_spare_servers =5 #空闲子进程最少5个
pm.max_spare_servers =35 #空闲子进程最多35个
pm.max_requests = 500 #一个子进程生命周期内最多处理多少个请求
rlimit_files = 1024 #每个进程所使用文件描述符的限制
创建多个池子
[www1]
listen =/tmp/www1.sock
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
#/etc/init.d/php-fpm restart #重启服务
不同的域名指定不同的池子/多个域名使用一个池子
#ls /usr/local/nginx/conf/vhosts
111.conf 222.conf
编辑fastcgi_pass unix:/tmp/php-fcgi.sock这行
指定池子,如指定www ,则修改为fastcgi_pass unix:/tmp/www.sock
如指定www1 ,则修改为fastcgi_pass unix:/tmp/www1.sock
性能追踪 网站运行慢
#vim/usr/local/php/etc/php-fpm.conf
在每个池子下面加入慢查询
slowlog =/tmp/www_slow.log #不同的池子指定不同的slowlog
request_slowlog_timeout=1 #超时时间,超过1秒就记录它
php_admin_value[open_basedir]=/data/www/:/tmp/
#open_dasedir将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径