Like the Apache mod_status module, Nginx also has a module that can provide you with realtime data regarding its stats. While its not as detailed as Apache mod_status, the data is still useful, especially if you are using Nginx as a load balancer.
First, confirm that Nginx was compiled with the HttpStudStatusModule. If you installed this via yum or apt-get, it should have it:
[root@web01 ~]# nginx -V 2>&1 | grep -o with-http_stub_status_module with-http_stub_status_module
To enable the module, set the following configuration:
[root@web01 ~]# vim /etc/nginx/conf.d/nginx_status.conf server { listen 80 default_server; access_log off; server_name _; server_name_in_redirect off; root /var/www/html; location /nginx_status { # Enable Nginx stats stub_status on; # Disable logging for stats access_log off; # Security: Only allow access from authorized IP's allow 127.0.0.1; allow 192.168.1.100; # Deny everyone else deny all; } }
Now navigate your browser to:
http://serverip/nginx_status
The results will look something like this:
Active connections: 1 server accepts handled requests 1 1 1 Reading: 0 Writing: 1 Waiting: 0
Here is what these numbers mean, taken directly from Nginx’s documentation:
# Active connections The current number of active client connections including Waiting connections. # accepts The total number of accepted client connections. # handled The total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit). # requests The total number of client requests. # Reading The current number of connections where nginx is reading the request header. # Writing The current number of connections where nginx is writing the response back to the client. # Waiting The current number of idle client connections waiting for a request.