Nginx+PHP-FPM打开status

1. 启用 php-fpm 状态功能

    修改 php-fpm.conf 文件,如果没有则创建此文件. 在文件夹: php/etc 目录下创建.
    pm.status_path=/status
    listen = 9000 #此处是监听 status 的端口, 可以自定义, 要跟等会在 nginx 中配置的一致.

2. nginx配置

在要监控的主机里添加上 locaction.

    location ~^/(status|ping)$
    {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000; #对应 php-fpm 里的配置
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }

3. 重启 nginx 和php-fpm

    service nginx restart
    service php-fpm restart

**4. 打开 status 页面 **

在浏览器里打开或者用 curl 命令打开都可以 http://127.0.0.1/status //如果你的 nginx 默认端口是80的话

    pool:                 www
    process manager:      dynamic
    start time:           10/Nov/2015:16:36:48 +0800
    start since:          1859
    accepted conn:        3
    listen queue:         0
    max listen queue:     0
    listen queue len:     128
    idle processes:       19
    active processes:     1
    total processes:      20
    max active processes: 1
    max children reached: 0
    slow requests:        0

5. php-fpm status 详解

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,缓慢请求的数量

**6. php-fpm 其他参数 **

php-fpm状态页比较个性化的一个地方是它可以带参数,可以带参数json、xml、html并且前面三个参数可以分别和full做一个组合。
http://127.0.0.1/status?html
http://127.0.0.1/status?xml
http://127.0.0.1/status?json
http://127.0.0.1/status?full

full详解:
pid – 进程PID,可以单独kill这个进程. You can use this PID to kill a long running     process.
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 - 上一个请求使用的内存

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏网络

CobaltStrike团体服务器部署并后台运行

大家好,我是你们的老朋友Alex。Cobaltstrike的部署安装很简单,但是在实际使用中出现了问题。我把团队服务器放在ECS上,出现了两个问题:1.客户端无...

3426
来自专栏SDNLAB

OpenStack Spice协议配置

Enable SPICE HTML5 Console Access in OpenStack Mikata 环境: CentOS7环境系统 + OpenStac...

5956
来自专栏博客园迁移

jenkins自动部署应用到tomcat中,编译后shell脚本的简单示例

1.先配置好jenkins需要用到的其他外部组件  jdk,maven,git/svn

2253
来自专栏Hongten

hadoop2集群环境搭建

在查询了很多资料以后,发现国内外没有一篇关于hadoop2集群环境搭建的详细步骤的文章。

1702
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

Laravel是一个开源的PHP Web框架,旨在使常见的Web开发任务(如身份验证,路由和缓存)变得更加容易。Deployer是一个开源的PHP部署工具,为许...

3651
来自专栏happyJared

基于Docker的Redis高可用集群搭建(redis-sentinel)

  之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该...

6541
来自专栏伪君子的梦呓

下载 Jekyll,并使用它在本地搭建一个博客

1574
来自专栏SAP梦心的SAP分享

【域控管理】父域的搭建

从这篇博文开始,所有的域控系统都是在虚拟机中创建的。 在VM里安装Windows Server 2008 R2的方法就不多说了,无脑式安装,略过不提。 进到系统...

3948
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Pydio托管文件共享服务器

随着云的采用增加,越来越多的数据被远程存储。从音乐到图片再到个人文档,很多人都将文件上传到他们不管理的服务器上。如果您希望将文件保存在您控制的服务器上,则可以使...

3810
来自专栏云计算教程系列

如何在CentOS 7上升级到PHP 7

2015年12月3日发布的PHP 7承诺与以前版本的语言相比具有显着的速度提升,以及标量类型提示等新功能。本指南介绍如何使用社区提供的软件包将运行PHP 5.x...

4533

扫码关注云+社区

领取腾讯云代金券