首页 > 代码库 > LNMP搭建5:php-fpm配置文件

LNMP搭建5:php-fpm配置文件

[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


LNMP搭建5:php-fpm配置文件