php-fpm的pool
Nginx可以配置多个主机,php-fpm也可以配置多个pool
配置多个pool可以隔离开各个网站,例如一个网站有问题,把PHP资源耗尽了,那其他网站和这个网站使用的是同一个pool 那也会受到影响,所以我们可以给每个站点都配置一个pool。网站报错502一般和PHP有关。
给不同的站点分别配置不同的pool
[root@localhost nginx-1.17.8]# ps -ef | grep phproot 63622 1664 0 01:30 pts/0 00:00:00 vim php-fpm.confroot 63691 1 0 01:47 ? 00:00:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)php-fpm 63692 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63693 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63694 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63695 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63696 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63697 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63698 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63699 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63700 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63701 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63702 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63703 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63704 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63705 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63706 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63707 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63708 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63709 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63710 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwphp-fpm 63711 63691 0 01:47 ? 00:00:00 php-fpm: pool wwwroot 72622 69909 0 08:49 pts/1 00:00:00 grep --color=auto php[root@localhost nginx-1.17.8]# cd /usr/local/php-fpm/# 添加一个123.com的地址池[root@localhost etc]# cd /usr/local/php-fpm/etc/[root@localhost etc]# vim php-fpm.conf[global]pid = /usr/local/php-fpm/var/run/php-fpm.piderror_log = /usr/local/php-fpm/var/log/php-fpm.log[www]listen = /tmp/php-fcgi.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024[123.com]listen = /tmp/123.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024# 检查配置文件以及刷新[root@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t[07-Sep-2021 09:13:42] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful# 重启php[root@localhost etc]# /etc/init.d/php-fpm restartGracefully shutting down php-fpm . doneStarting php-fpm done# 查看进程(会发现多了一个123.com的地址池)[root@localhost etc]# ps -aux | grep phproot 63622 0.0 0.5 149628 5168 pts/0 T 01:30 0:00 vim php-fpm.confroot 72655 0.1 0.5 232152 5240 ? Ss 09:13 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)php-fpm 72656 0.0 0.4 232092 4940 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72657 0.0 0.4 232092 4940 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72658 0.0 0.4 232092 4940 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72659 0.0 0.4 232092 4940 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72660 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72661 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72662 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72663 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72664 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72665 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72666 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72667 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72668 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72669 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72670 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72671 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72672 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72673 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72674 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72675 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool wwwphp-fpm 72676 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72677 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72678 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72679 0.0 0.4 232092 4944 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72680 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72681 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72682 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72683 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72684 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72685 0.0 0.4 232092 4948 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72686 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72687 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72688 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72689 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72690 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72691 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72692 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72693 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72694 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comphp-fpm 72695 0.0 0.4 232092 4952 ? S 09:13 0:00 php-fpm: pool 123.comroot 72697 0.0 0.0 112824 984 pts/1 R+ 09:14 0:00 grep --color=auto php[root@localhost vhost]# cd /usr/local/nginx/conf/vhost/[root@localhost vhost]# vim default.confserver{listen 80 default_server;server_name aaa.com;index index.html index.htm index.php;root /data/nginx/default;location ~ \.php$ {include fastcgi_params;fastcgi_pass unix:/tmp/123.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /data/nginx/test.com$fastcgi_script_name;}}# fastcgi_pass unix:/tmp/123.sock; 主要就是修改这一行配置文件选择不同的pool。[root@localhost vhost]# /usr/local/nginx/sbin/nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost vhost]# /usr/local/nginx/sbin/nginx -s reload
配置拆分多个pool
在nginx.conf这个配置文件下有一行配置文件为 include vhost/*.conf; 他的作用为识别指定目录下以conf为结尾的配置文件,让每个站点为一个配置文件。
# 进入配置文件目录
[root@localhost vhost]# cd /usr/local/php-fpm/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php.ini
[root@localhost etc]# vim php
php-fpm.conf php-fpm.conf.default php.ini
# 多加一行include
[root@localhost etc]# vim php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
include = etc/php-fpm.d/*.conf
# 创建存放配置文件的目录
[root@localhost etc]# mkdir php-fpm.d
[root@localhost etc]# cd php
php-fpm.conf php-fpm.conf.default php-fpm.d/ php.ini
[root@localhost etc]# cd php-fpm.d/
[root@localhost php-fpm.d]# vim 123.conf
[123.com]
listen = /tmp/123.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
[root@localhost php-fpm.d]# vim www.conf
[www]
listen = /tmp/php-fcgi.sock
sten.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
# 检查配置文件
[root@localhost php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t
[07-Sep-2021 09:28:12] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
# 重启服务
[root@localhost php-fpm.d]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
# 查看sock文件
[root@localhost php-fpm.d]# ls /tmp/*.sock
/tmp/123.sock /tmp/mysql.sock /tmp/php-fcgi.sock
[root@localhost php-fpm.d]# ps -ef | grep php
root 63622 1664 0 01:30 pts/0 00:00:00 vim php-fpm.conf
root 76149 1 0 09:28 ? 00:00:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm 76150 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76151 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76152 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76153 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76154 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76155 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76156 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76157 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76158 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76159 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76160 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76161 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76162 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76163 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76164 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76165 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76166 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76167 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76168 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76169 76149 0 09:28 ? 00:00:00 php-fpm: pool 123.com
php-fpm 76170 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76171 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76172 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76173 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76174 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76175 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76176 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76177 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76178 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76179 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76180 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76181 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76182 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76183 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76184 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76185 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76186 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76187 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76188 76149 0 09:28 ? 00:00:00 php-fpm: pool www
php-fpm 76189 76149 0 09:28 ? 00:00:00 php-fpm: pool www
root 76193 69909 0 09:29 pts/1 00:00:00 grep --color=auto php
php-fpm查看慢执行日志
通过配置慢执行日志,可以让我们清晰的了解到PHP脚本在哪里执行时间长,可以定位到哪一行。
[root@localhost php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/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
imit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
[root@localhost php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t
[07-Sep-2021 09:36:38] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
[root@localhost php-fpm.d]# /etc/init.d/php-fpm reload
Reload service php-fpm done
[root@localhost php-fpm.d]# ls /usr/local/php-fpm/var/log/
php-fpm.log www-slow.log
[root@localhost php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log
测试
# 编写一个慢执行文件
[root@localhost php-fpm.d]# vim /data/nginx/test.com/sleep.php
<?php
echo "test slow log";
sleep(2);
echo "done";
?>
# 执行这个脚本时慢了一下
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php
test slow logdone[root@localhost etc]# cat /usr/local/php-fpm/var/log/www-slow.log
[07-Sep-2021 09:46:37] [pool www] pid 76298
script_filename = /data/nginx/test.com/sleep.php
[0x00007fd7c7680288] sleep() /data/nginx/test.com/sleep.php:3
php-fpm定义open_basedir
# 修改配置文件,特意配置为错误路径
# 添加一行配置文件,其中test.com的路径为错误路径
[root@localhost etc]# vim /usr/local/php-fpm/etc/php-fpm.d/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
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/nginx/wwwtest.com:/tmp/
# 测试发现这些PHP文件都无法访问,就是因为php open_basedir做了限制。
[root@localhost etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@localhost etc]# ls /data/nginx/test.com/
1.js 1.jss 2.jpg 3.php admin index.html sleep.php
[root@localhost etc]# !curl
curl -x127.0.0.1:80 test.com/sleep.php
No input file specified.
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php -I
HTTP/1.1 404 Not Found
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:19:37 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
[root@localhost etc]# curl -x127.0.0.1:80 test.com/3.php -I
HTTP/1.1 404 Not Found
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:19:50 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
# 然后把配置文件改为正确地址测试
[root@localhost etc]# vim /usr/local/php-fpm/etc/php-fpm.d/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
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/nginx/test.com:/tmp/
# 重启服务
[root@localhost etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@localhost etc]# curl -x127.0.0.1:80 test.com/3.php -I
HTTP/1.1 200 OK
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:20:26 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php -I
HTTP/1.1 200 OK
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:20:45 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
配置错误日志
配置记录php执行错误的日志
[root@localhost etc]# vim /usr/local/php-fpm/etc/php.ini
display_errors = Off
log_errors = On
error_log = /usr/local/php-fpm/var/log/php_error.log
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL
# 再次将php的配置文件改错
[root@localhost etc]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf
php_admin_value[open_basedir]=/data/nginx/wwwtest.com:/tmp/
# 重启服务
[root@localhost etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
## 自己创建一个日志文件并授权
[root@localhost etc]# touch /usr/local/php-fpm/var/log/php_error.log
[root@localhost etc]# chmod 777 /usr/local/php-fpm/var/log/php_error.log
[root@localhost etc]# curl -x127.0.0.1:80 test.com/3.php -I
HTTP/1.1 404 Not Found
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:32:21 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php -I
HTTP/1.1 404 Not Found
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:32:28 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
# 查看错误日志,显示open_basedir限制生效,目录不能访问
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php
No input file specified.
[root@localhost etc]# cat /usr/local/php-fpm/var/log/php_error.log
[07-Sep-2021 02:32:21 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/nginx/test.com/3.php) is not within the allowed path(s): (/data/nginx/wwwtest.com:/tmp/) in Unknown on line 0
[07-Sep-2021 02:32:21 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[07-Sep-2021 02:32:28 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/nginx/test.com/sleep.php) is not within the allowed path(s): (/data/nginx/wwwtest.com:/tmp/) in Unknown on line 0
[07-Sep-2021 02:32:28 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[07-Sep-2021 02:32:35 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/nginx/test.com/sleep.php) is not within the allowed path(s): (/data/nginx/wwwtest.com:/tmp/) in Unknown on line 0
[07-Sep-2021 02:32:35 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
# 再次将配置文件修改回来
[root@localhost etc]# vim /usr/local/php-fpm/etc/php-fpm.d/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
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/nginx/test.com:/tmp/
# 重启服务
[root@localhost etc]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
# 然后测试发现没有错误日志生成
[root@localhost etc]# curl -x127.0.0.1:80 test.com/sleep.php -I
HTTP/1.1 200 OK
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:34:34 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
[root@localhost etc]# curl -x127.0.0.1:80 test.com/3.php -I
HTTP/1.1 200 OK
Server: nginx/1.17.8
Date: Tue, 07 Sep 2021 02:34:41 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.6.30
php-fpm进程管理
pm = dynamic //动态进程管理,也可以是static 如果是静态的,会直接启动最大子进程数
pm.max_children = 50 //最大子进程数,ps aux可以查看
pm.start_servers = 20 //启动服务时会启动的进程数
pm.min_spare_servers = 5 //定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
pm.max_spare_servers = 35 //定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。
pm.max_requests = 500 //定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
