php-fpm是用来处理php请求的,它的配置文件为/usr/local/php/etc/php-fpm.conf(路径随我的环境)php
php-fpm.conf自带是有内容的不过大部分被注释掉了因此咱们不妨删除原有的内容从新写入。nginx
#> /usr/local/php/etc/php-fpm.conf # >单独使用能够清空一个文件vim
# vim/usr/local/php/etc/php-fpm.conf ide
[global] # 全局部分php-fpm
pid =/usr/local/php/var/run/php-fpm.pid性能
error_log =/usr/local/php/var/log/php-fpm.log网站
[www] # pool部分(名称能够自定义)spa
listen = /tmp/www.sock unix
user = php-fpmrest
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将用户访问文件的活动范围限制在指定的区域,一般是其家目录的路径