码迷,mamicode.com
首页 > Web开发 > 详细

CentOS 6.x 开启Nginx和Php-fpm状态统计

时间:2017-02-25 14:08:38      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:nginx php-fpm

Nginx和PHP-FPM都在安装的时候创建了一个状态页,用于统计Nginx和PHP-FPM的相关状态信息。下面介绍一下如何开启Nginx和PHP-FPM的状态统计,以及介绍各参数的含义。


(一)开启Nginx的状态统计以及各参数详解

在/etc/nginx/conf.d/(根据自己的Nginx路径)中创建nginx_status.conf,并添加如下内容:

[root@iZ256vh2adfZ conf.d]# cat nginx_status.conf 
server {
    listen  80;
    server_name 127.0.0.1;
    location /nginx_status 
    {
        stub_status on;
        access_log off;
        #allow 127.0.0.1;
        #deny all;
    }
}

重启Nginx:

[root@iZ256vh2adfZ vhost]# /etc/init.d/nginx restart
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

测试:

[root@iZ256vh2adfZ conf.d]# curl 127.0.0.1:80/nginx_status
Active connections: 4 
server accepts handled requests
 8 8 12 
Reading: 0 Writing: 1 Waiting: 3

(二)开启PHP-FPM的状态统计以及各参数详解

开启php-fpm.conf开用php-fpm状态功能:

vim php-fpm.conf:


pm.status_path = /phpfpm_status

默认情况下为/status,当然也可以改成/php_status等,我这里是改成/php_status啦


vim /etc/nginx/conf.d/php_fpm_status.conf



server {


listen 80;

        server_name 127.0.0.1;


    location /php_status {

        fastcgi_pass  127.0.0.1:9000;

        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

        #allow x.x.x.x;

        access_log off;

        #deny all;

    }

}


重启Nginx、PHP-FPM。


测试:


[root@iZ256vh2adfZ conf.d]# curl   http://127.0.0.1/php_status

pool:                 www

process manager:      dynamic

start time:           25/Feb/2017:10:27:57 +0800

start since:          7

accepted conn:        1

listen queue:         0

max listen queue:     0

listen queue len:     128

idle processes:       4

active processes:     1

total processes:      5

max active processes: 1

max children reached: 0

slow requests:        0


PHP-FPM status状态详解:

pool  fpm池子名称,大多数为www
process manager  进程管理方式,值:static, dynamic or ondemand. dynamic
start time  启动日期,如果reloadphp-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,缓慢请求的数量


nginx、php-fpm状态页可以通过带参数实现个性化,可以带参数json、xml、html并且前面三个参数可以分别和full做一个组合,下面以php-fpm status为例:

(1)json格式:

[root@iZ25fueqyvvZ vhost]# curl http://127.0.0.1/php_status?json

{"pool":"www","process manager":"dynamic","start time":1487989605,"start since":3187,"accepted conn":179,"listen queue":0,"max listen queue":0,"listen queue len":128,"idle processes":14,"active processes":1,"total processes":15,"max active processes":5,"max children reached":0}


(2)xml格式:

[root@iZ25fueqyvvZ vhost]# curl http://127.0.0.1/php_status?xml

<?xml version="1.0" ?>

<status>

<pool>www</pool>

<process-manager>dynamic</process-manager>

<start-time>1487989605</start-time>

<start-since>3246</start-since>

<accepted-conn>184</accepted-conn>

<listen-queue>0</listen-queue>

<max-listen-queue>0</max-listen-queue>

<listen-queue-len>128</listen-queue-len>

<idle-processes>14</idle-processes>

<active-processes>1</active-processes>

<total-processes>15</total-processes>

<max-active-processes>5</max-active-processes>

<max-children-reached>0</max-children-reached>


(3)html格式:

[root@iZ25fueqyvvZ vhost]# curl http://127.0.0.1/php_status?html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head><title>PHP-FPM Status Page</title></head>

<body>

<table>

<tr><th>pool</th><td>www</td></tr>

<tr><th>process manager</th><td>dynamic</td></tr>

<tr><th>start time</th><td>25/Feb/2017:10:26:45 +0800</td></tr>

<tr><th>start since</th><td>3272</td></tr>

<tr><th>accepted conn</th><td>186</td></tr>

<tr><th>listen queue</th><td>0</td></tr>

<tr><th>max listen queue</th><td>0</td></tr>

<tr><th>listen queue len</th><td>128</td></tr>

<tr><th>idle processes</th><td>14</td></tr>

<tr><th>active processes</th><td>1</td></tr>

<tr><th>total processes</th><td>15</td></tr>

<tr><th>max active processes</th><td>5</td></tr>

<tr><th>max children reached</th><td>0</td></tr>

</table>

(4)full格式:

[root@iZ25fueqyvvZ vhost]# curl http://127.0.0.1/php_status?full

pool:                 www

process manager:      dynamic

start time:           25/Feb/2017:10:26:45 +0800

start since:          3341

accepted conn:        188

listen queue:         0

max listen queue:     0

listen queue len:     128

idle processes:       14

active processes:     1

total processes:      15

max active processes: 5

max children reached: 0


************************

pid:                  4496

state:                Idle

start time:           25/Feb/2017:10:26:45 +0800

start since:          3341

requests:             13

request duration:     13932

request method:       POST

request URI:          /managerlogin/index.php?ctl=default&act=status

content length:       0

user:                 -

script:               /data/website/index.php

last request cpu:     71.78

last request memory:  5767168


此处省略了很多个PID!


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 - 上一个请求使用的内存


本文出自 “奔跑的蜗牛” 博客,请务必保留此出处http://441274636.blog.51cto.com/5054639/1901135

CentOS 6.x 开启Nginx和Php-fpm状态统计

标签:nginx php-fpm

原文地址:http://441274636.blog.51cto.com/5054639/1901135

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!