Mr.X
Mr.X

Reputation: 31285

How to verify if nginx is running or not?

After running an ASP.NET vNext project on my local machine I was trying to figure out how I can run it on nginx as it looks to be a recommended choice

Following jsinh's blog, I installed it using:

sudo apt-get update
sudo apt-get install nginx -y

I was trying to understand whether it is working or not by using:

ifconfig eth0 | grep inet | awk '{ print $2}'

After running

sudo service nginx start
sudo service nginx stop

However, the output is always the same:

Nginx status

How to verify if nginx is running or not?

Upvotes: 139

Views: 406201

Answers (12)

Prajval Singh
Prajval Singh

Reputation: 1141

Running the sudo nginx again gives you the following error Error Image This indicates that the nginx is running.

or the simple thing you can do is, check if the system that depends on nginx to run like the webapp you might be running, is it working when you hit that particular port

Upvotes: 1

nyedidikeke
nyedidikeke

Reputation: 7628

service nginx status will work on a non-systemd based version.

On systemd based versions such as Ubuntu Linux 16.04 LTS and above, make use of the command below;

systemctl status nginx

Upvotes: 19

user5790799
user5790799

Reputation:

Looking at the requirement you have, the below command shall help:

service nginx status

Upvotes: 270

Dkyrii
Dkyrii

Reputation: 121

For Mac users

I found out one more way: You can check if /usr/local/var/run/nginx.pid exists. If it is - nginx is running. Useful way for scripting.

Example:

if [ -f /usr/local/var/run/nginx.pid ]; then
   echo "Nginx is running"

fi

Upvotes: 12

Hamit YILDIRIM
Hamit YILDIRIM

Reputation: 4549

The other way to see it in windows command line :

tasklist /fi "imagename eq nginx.exe"

INFO: No tasks are running which match the specified criteria.

if there is a running nginx you will see them

Upvotes: 4

saferJo
saferJo

Reputation: 547

None of the above answers worked for me so let me share my experience. I am running nginx in a docker container that has a port mapping (hostPort:containerPort) - 80:80 The above answers are giving me strange console output. Only the good old 'nmap' is working flawlessly even catching the nginx version. The command working for me is:

 nmap -sV localhost -p 80

We are doing nmap using the -ServiceVersion switch on the localhost and port: 80. It works great for me.

Upvotes: 5

Gurmeet Singh
Gurmeet Singh

Reputation: 834

If you are on mac machine and had installed nginx using

brew install nginx

then

brew services list

is the command for you. This will return a list of services installed via brew and their corresponding status.

enter image description here

Upvotes: 24

Selcuk
Selcuk

Reputation: 59348

The modern (systemctl) way of doing it:

systemctl is-active nginx

You can use the exit value in your shell scripts as follows:

systemctl -q is-active nginx && echo "It is active, do something"

Upvotes: 18

Biranchi
Biranchi

Reputation: 16327

Can also use the following code to check the nginx status:

   sudo /etc/init.d/nginx status

Upvotes: 4

aleclarson
aleclarson

Reputation: 19055

This is probably system-dependent, but this is the simplest way I've found.

if [ -e /var/run/nginx.pid ]; then echo "nginx is running"; fi

That's the best solution for scripting.

Upvotes: 26

Cole Tierney
Cole Tierney

Reputation: 10324

You could use lsof to see what application is listening on port 80:

sudo lsof -i TCP:80

Upvotes: 44

Lex Li
Lex Li

Reputation: 63244

Not sure which guide you are following, but if you check out this page,

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-14-04-lts

It uses another command

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 

and also indicates what result is expected.

Upvotes: 1

Related Questions