开启 php-fpm 状态页及 pm.status_path 状态详解

本文介绍了如何开启php-fpm的状态页,详细解析了pm.status_path参数,包括其显示样式和不同格式(json, xml, html, full)的访问方式。通过修改php-fpm和nginx配置,可以监控php-fpm的状态。" 123969402,11460304,算法解析:消失的数字与双缺失数问题,"['算法', '数据结构']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

说明

php-fpm 和 nginx 一样,内建了个状态页,可以通过该状态页了解监控 php-fpm 的状态。

 

具体

1. 在 php 的安装目录下的 www.conf 中打开 pm.status_path 配置项。如:我的 php 安装目录为 /www/source/php,则 www.conf 文件位于 /www/source/php/etc/php-fpm.d/www.conf;将此文件中的 pm.status_path = /status 前的分号去掉,修改成如下:

1.png

默认情况下为 /status,当然你也可以改成 /phpfpm_status 等等。这里我修改成 bcstatus

特别说明:你的服务器配置文件不一定叫 www.conf ,请根据自己的配置设置;也可以直接把 pm.status_path = /bcstatus 添加到 php-fpm.conf 中,但是,一定要添加到 php-fpm.conf 文件中的最后,否则重启php-fpm时会出现以下错误:

[24-Mar-2017 16:18:44] ERROR: [/www/source/php/etc/php-fpm.conf:126] unknown entry 'pm.status_path'
[24-Mar-2017 16:18:44] ERROR: failed to load configuration file '/www/source/php/etc/php-fpm.conf'
[24-Mar-2017 16:18:44] ERROR: FPM initialization failed

 

2. nginx 配置

在 nginx 的配置文件中添加以下配置。

server {
    ......
	
    # 在 server 中添加以下配置
    location = /bcstatus {
	include fastcgi_params;
	fastcgi_pass 127.0.0.1:9000;
	fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
	
    .....
}

特别说明:这里的 location 最后用 = 号,如我的配置 location = /bcstatus ,因为 = 的优先级最高,如果匹配成功后,就不会再匹配其它选项了。

 

3、重启 nginx、php-fpm 使配置生效

# /etc/init.d/nginx restart
# /etc/init.d/php-fpm restart

重启后用浏览器访问 http://你的域名/bcstatus 就可以看到效果,如:

2.png

 

pm.status_path 参数详解

pool 			– fpm池子名称,大多数为www
process manager 	– 进程管理方式,值:static, dynamic or ondemand. dynamic
start time 		– 启动日期,如果reload了php-fpm,时间会更新
start since 		– 运行时长
accepted conn 		– 当前池子接受的请求数
listen queue 		– 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
max listen queue 	– 请求等待队列最高的数量
listen queue len 	– socket等待队列长度
idle processes 		– 空闲进程数量
active processes 	– 活跃进程数量
total processes 	– 总进程数量
max active processes 	– 最大的活跃进程数量(FPM启动开始算)
max children reached 	- 进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
slow requests 		– 启用了php-fpm slow-log,缓慢请求的数量

 

pm.status_path 显示样式

php-fpm 状态页的显示效果,可以有 json、xml、html、full 四种,可以通过 GET 传参显示不同的效果。

1、json 格式

通过访问 http://你的域名/bcstatus?json 来显示 JSON 格式,如:

3.png

2、xml 格式

通过访问 http://你的域名/bcstatus?xml 来显示 JSON 格式,如:

4.png

3、html 格式

通过访问 http://你的域名/bcstatus?html 来显示 JSON 格式,如:

 

5.png

4、full 格式

通过访问 http://你的域名/bcstatus?full 来显示 JSON 格式,如:

6.png

5、full 显示项

pid 			– 进程PID,可以单独kill这个进程.
state 			– 当前进程的状态 (Idle, Running, …)
start time 		– 进程启动的日期
start since 		– 当前进程运行时长
requests 		– 当前进程处理了多少个请求
request duration 	– 请求时长(微妙)
request method 		– 请求方法 (GET, POST, …)
request URI 		– 请求URI
content length 		– 请求内容长度 (仅用于 POST)
user 			– 用户 (PHP_AUTH_USER) (or ‘-’ 如果没设置)
script 			– PHP脚本 (or ‘-’ if not set)
last request cpu 	– 最后一个请求CPU使用率。
last request memorythe  - 上一个请求使用的内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值