wdcsx 发表于 2018-12-14 10:08:31

CentOS 6.x 开启Nginx和Php

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

  

  (一)开启Nginx的状态统计以及各参数详解
  在/etc/nginx/conf.d/(根据自己的Nginx路径)中创建nginx_status.conf,并添加如下内容:
# cat nginx_status.conf
server {
    listen80;
    server_name 127.0.0.1;
    location /nginx_status
    {
      stub_status on;
      access_log off;
      #allow 127.0.0.1;
      #deny all;
    }
}  重启Nginx:
# /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:                                          
Starting nginx:                                            测试:

# 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_pass127.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。
  
  测试:
  

  # 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 – 启动日期,如果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,缓慢请求的数量  
  nginx、php-fpm状态页可以通过带参数实现个性化,可以带参数json、xml、html并且前面三个参数可以分别和full做一个组合,下面以php-fpm status为例:

  (1)json格式:
  # 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格式:
  # curl http://127.0.0.1/php_status?xml
  
  
  www
  dynamic
  1487989605
  3246
  184
  0
  0
  128
  14
  1
  15
  5
  0
  

  (3)html格式:

  # curl http://127.0.0.1/php_status?html
  
  
  PHP-FPM Status Page
  
  
  poolwww
  process managerdynamic
  start time25/Feb/2017:10:26:45 +0800
  start since3272
  accepted conn186
  listen queue0
  max listen queue0
  listen queue len128
  idle processes14
  active processes1
  total processes15
  max active processes5
  max children reached0
  
  (4)full格式:
  # 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 - 上一个请求使用的内存  




页: [1]
查看完整版本: CentOS 6.x 开启Nginx和Php