在浏览器里查看Nginx和PHP-FPM的运行状态

查看Nginx状态

location = /nginx_status { 
    stub_status on; 
    access_log off; 
    allow 127.0.0.1; 
    deny all; 

curl http://127.0.0.1/nginx_status 
http://nginx.org/en/docs/http/ngx_http_status_module.html 
输出样例: 
Active connections: 3 
server accepts handled requests 
 17737 17737 49770 
Reading: 0 Writing: 1 Waiting: 2 
各项解释: 
Active connections: 当前 Nginx 正处理的活动连接数. 
server accepts handled requests: 总共处理了 17737 个连接, 成功创建 17737 次握手(证明中间没有失败的), 总共处理了 49770 个请求. 
Reading: Nginx 读取到客户端的 Header 信息数. 
Writing: Nginx 返回给客户端的 Header 信息数. 
Waiting: 开启 keep-alive 的情况下, 这个值等于 Active - (Reading + Writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接. 

查看PHP-FPM状态

php-fpm.conf 中开启 pm.status_path = /status 
nginx.conf 中配置: 
location = /status { 
    include        fastcgi_params; 
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    fastcgi_index  index.php; 
    fastcgi_pass   127.0.0.1:9000; 

访问 http://127.0.0.1/status?full 查看状态信息(我只开了一个PHP-FPM工作进程): 
pool:                 www 
process manager:      static 
start time:           27/Dec/2014:13:29:00 +0800 
start since:          2571 
accepted conn:        28 
listen queue:         0 
max listen queue:     0 
listen queue len:     128 
idle processes:       0 
active processes:     1 
total processes:      1 
max active processes: 1 
max children reached: 0 
slow requests:        0 

************************ 
pid:                  1275 
state:                Running 
start time:           27/Dec/2014:13:29:00 +0800 
start since:          2571 
requests:             28 
request duration:     100 
request method:       GET 
request URI:          /status?full 
content length:       0 
user:                 - 
script:               - 
last request cpu:     0.00 
last request memory:  0 

附: 下面是php-fpm.conf里的说明 
; The URI to view the FPM status page. If this value is not set, no URI will be 
; recognized as a status page. It shows the following informations: 
;   pool                 - the name of the pool; 
;   process manager      - static, dynamic or ondemand; 
;   start time           - the date and time FPM has started; 
;   start since          - number of seconds since FPM has started; 
;   accepted conn        - the number of request accepted by the pool; 
;   listen queue         - the number of request in the queue of pending 
;                          connections (see backlog in listen(2)); 
;   max listen queue     - the maximum number of requests in the queue 
;                          of pending connections since FPM has started; 
;   listen queue len     - the size of the socket queue of pending connections; 
;   idle processes       - the number of idle processes; 
;   active processes     - the number of active processes; 
;   total processes      - the number of idle + active processes; 
;   max active processes - the maximum number of active processes since FPM 
;                          has started; 
;   max children reached - number of times, the process limit has been reached, 
;                          when pm tries to start more children (works only for 
;                          pm 'dynamic' and 'ondemand'); 
; Value are updated in real time. 
; Example output: 
;   pool:                 www 
;   process manager:      static 
;   start time:           01/Jul/2011:17:53:49 +0200 
;   start since:          62636 
;   accepted conn:        190460 
;   listen queue:         0 
;   max listen queue:     1 
;   listen queue len:     42 
;   idle processes:       4 
;   active processes:     11 
;   total processes:      15 
;   max active processes: 12 
;   max children reached: 0 

; By default the status page output is formatted as text/plain. Passing either 
; 'html', 'xml' or 'json' in the query string will return the corresponding 
; output syntax. Example: 
;   http://www.foo.bar/status 
;   http://www.foo.bar/status?json 
;   http://www.foo.bar/status?html 
;   http://www.foo.bar/status?xml 

; By default the status page only outputs short status. Passing 'full' in the 
; query string will also return status for each pool process. 
; Example: 
;   http://www.foo.bar/status?full 
;   http://www.foo.bar/status?json&full 
;   http://www.foo.bar/status?html&full 
;   http://www.foo.bar/status?xml&full 
; The Full status returns for each process: 
;   pid                  - the PID of the process; 
;   state                - the state of the process (Idle, Running, ...); 
;   start time           - the date and time the process has started; 
;   start since          - the number of seconds since the process has started; 
;   requests             - the number of requests the process has served; 
;   request duration     - the duration in μs of the requests; 
;   request method       - the request method (GET, POST, ...); 
;   request URI          - the request URI with the query string; 
;   content length       - the content length of the request (only with POST); 
;   user                 - the user (PHP_AUTH_USER) (or '-' if not set); 
;   script               - the main script called (or '-' if not set); 
;   last request cpu     - the %cpu the last request consumed 
;                          it's always 0 if the process is not in Idle state 
;                          because CPU calculation is done when the request 
;                          processing has terminated; 
;   last request memory  - the max amount of memory the last request consumed 
;                          it's always 0 if the process is not in Idle state 
;                          because memory calculation is done when the request 
;                          processing has terminated; 
; If the process is in Idle state, then informations are related to the 
; last request the process has served. Otherwise informations are related to 
; the current request being served. 
; Example output: 
;   ************************ 
;   pid:                  31330 
;   state:                Running 
;   start time:           01/Jul/2011:17:53:49 +0200 
;   start since:          63087 
;   requests:             12808 
;   request duration:     1250261 
;   request method:       GET 
;   request URI:          /test_mem.php?N=10000 
;   content length:       0 
;   user:                 - 
;   script:               /home/fat/web/docs/php/test_mem.php 
;   last request cpu:     0.00 
;   last request memory:  0 

; Note: There is a real-time FPM status monitoring sample web page available 
;       It's available in: ${prefix}/share/fpm/status.html 

; Note: The value must start with a leading slash (/). The value can be 
;       anything, but it may not be a good idea to use the .php extension or it 
;       may conflict with a real PHP file. 
; Default Value: not set 
pm.status_path = /status 


你可能感兴趣的:(nginx,浏览器,server,客户端)