如何查看Nginx的运行状态信息?很简单,只要你在编译安装Nginx时添加了ngx_http_stub_status_module模块(一般都有的),然后
在配置文件里添加如下配置(高亮部分):

server {
listen 80;
server_name xxx;
...
location /status
{
stub_status on;
access_log off;
error_log off;
}
...
}
从浏览器中打开:http://www.yourdomain.com/status 可以看到类似以下的内容:
Active connections: 410
server accepts handled requests
30871298 30871298 105864919
Reading: 4 Writing: 8 Waiting: 398
active connections-- 对后端发起的活动连接数
server accepts handled requests-- nginx 总共处理了 30871298 个连接, 成功创建 30871298 次握手,总共处理了 105864919个请求
reading-- nginx 读取到客户端的Header信息数
writing-- nginx 返回给客户端的Header信息数
waiting-- 开启 keep-alive 的情况下,这个值等于 active - (reading + writing),意思就是Nginx说已经处理完正在等候下一次请求指令的驻留连接
如果reading或writing的值很高,说明正在处理的数据量很大,可能是因为后端的php程序处理慢,拖了后腿,而一般来说,PHP之后以慢,是因为MYSQL,另一个原因很可能就是IO慢,或者客户端的网络慢(这种情况在国内常见些).因为CPU配置低的情况少见.