In this post, We will enable NGINX Status Page on ubuntu 18.04/20.04 LTS.
NginX, is a web worker that can likewise be utilized as a converse intermediary, load balancer, mail intermediary and HTTP store. The product was made by Russian computer programmer Igor Sysoev and openly delivered in 2004.
By default ngx_http_stub_status_module is enabled in nginx 1.14 version and check module also, To verify that use the given command to check nginx version and module first.
nginx -v
nginx -V 2>&1 | grep -o with-http_stub_status_module
You should get output like this for version.
Output for module.
You need to add the following configuration get teh nginx stats, Use the given command for the same.
sudo vim /etc/nginx/sites-available/default
and paste the gicen syntax like this.
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
Here is the complete configuration file.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or WordPress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
# pass PHP scripts to FastCGI server
#
#location ~ .php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Save and exit from the vim text editor.
Step 3: Verify the Nginx Configuration
After making changes in default virtualhost nginx configuration, We need to cross verify the nginx configuration is correct or not and reload the nginx service, Use the given command for the same.
sudo nginx -t
sudo systemctl reload nginx
Sample output.
Step 4: Nginx Stats
Now we are ready to get the nginx metrix by using the curl command, execute the given command for the same.
curl http://127.0.0.1/nginx_status
If everything is okay, So then you will get output like this.
Conclusion
We have successfully configured Nginx status Page on ubuntu 18.04/20.04 LTS, Still you are facing same issue then leave a comment with your problem to get better support.
Thank you for sharing this article with me. It helped me a lot and I love it.