如何查看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配置低的情况少见.