[root@centos6 php]# ls etc/
pear.conf php-fpm.conf php.ini
其中php.ini是php全局配置;php-fpm.conf是管理php-fpm服务配置。
配置php-fpm服务,需要清空其原有内容,写入新的内容:
[root@centos6 php]# > etc/php-fpm.conf
[root@centos6 php]# vim 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 #监听的sock或者IP:port,可以自定义www.sock
user = php-fpm #属主php-fpm
group = php-fpm #属组php-fpm
listen.owner = nobody #监听的用户,nginx-->nobody
listen.group = nobody #监听的组,nginx-->nobody
pm = dynamic #生成子进程的方式,dynamic更高效,如果改为static,则一直都是max_children个子进程
pm.max_children = 50 #最大子进程数
pm.start_servers = 20 #一开始启动20个子进程
pm.min_spare_servers = 5 #空闲时最少启动5个子进程
pm.max_spare_servers = 35 #空闲时最多启动35个子进程
pm.max_requests = 500 #每个子进程整个生命周期处理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
检查无误后重启php-fpm服务:
[root@centos6 php]# /usr/local/php/sbin/php-fpm -t
[13-Jan-2017 23:14:06] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
[root@centos6 php]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
php-fpm可以有多个不同的pool(如上面的www和www1就是两个pool),不同的网站不同的域名使用不同的pool,不同的pool就需要监听不同的sock,或者是不同的IP:port。可以把不同的域名对应到不同的pool
比如我们可以在这个目录下写多个虚拟主机,让不同的虚拟主机使用不同的pool,如www.test.com使用www,www.aaa.com使用www1等等,使用不同的pool,可以设置不同的权限。并且可以避免使用一个pool造成多个网站同时宕机的危险。
[root@centos6 vhosts]# ls
default.conf test.conf
只需在每个虚拟主机中指定自己使用哪个pool即可
可以给每个池子加上slow.log,查看网站哪里造成缓慢以追踪网站性能,也可以给每个网站设置可访问的目录
[root@centos6 php]# vim 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]
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
listen.owner = nobody
listen.group = nobody
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
slowlog = /tmp/www_slog.log
request_slowlog_timeout = 1
php_admin_value[open_basedir]=/data/www/:/tmp/
[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
[root@cp1 vhosts]# /usr/local/php/sbin/php-fpm -t
[23-Feb-2017 00:21:02] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
[root@cp1 vhosts]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
原文地址:http://rachy.blog.51cto.com/11428504/1901160