如何验证nginx是否正在运行?

时间:2016-02-05 09:35:30

标签: asp.net ubuntu nginx mono

在我的本地计算机上running an ASP.NET vNext project之后,我试图找出如何在nginx上运行它,因为它看起来像recommended choice

关注jsinh's blog后,我使用以下方法安装了它:

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

我试图通过使用:

来了解它是否有效
ifconfig eth0 | grep inet | awk '{ print $2}'

运行后

sudo service nginx start
sudo service nginx stop

但是,输出始终相同:

Nginx status

  

如何验证nginx是否正在运行?

11 个答案:

答案 0 :(得分:53)

根据您的要求,下面的命令应为help

service nginx status

答案 1 :(得分:13)

这可能是系统依赖的,但这是我发现的最简单的方法。

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

这是脚本编写的最佳解决方案。

答案 2 :(得分:11)

您可以使用lsof查看端口80上正在侦听的应用程序:

sudo lsof -i TCP:80

答案 3 :(得分:4)

对于Mac用户

我发现了另一种方法:您可以检查/usr/local/var/run/nginx.pid是否存在。如果是-nginx正在运行。编写脚本的有用方法。

示例:

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

fi

答案 4 :(得分:2)

上述答案都不适合我,所以让我分享一下我的经验。我在一个docker容器中运行nginx,它有一个端口映射(hostPort:containerPort) - 80:80 上面的答案给了我奇怪的控制台输出。只有好的旧'nmap'才能完美无缺,甚至可以捕获nginx版本。为我工作的命令是:

nmap -sV localhost -p 80

我们正在使用localhost和端口:80上的-ServiceVersion开关来执行nmap。对我很有用。

答案 5 :(得分:2)

还可以使用以下代码检查nginx的状态:

   sudo /etc/init.d/nginx status

答案 6 :(得分:2)

现代(systemctl)的实现方式:

systemctl is-active nginx

您可以在shell脚本中使用退出值,如下所示:

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

答案 7 :(得分:1)

不确定您关注哪个指南,但如果您查看此页面,

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

它使用另一个命令

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

并且还指出了预期的结果。

答案 8 :(得分:1)

在Windows命令行中查看它的另一种方式:

tasklist /fi "imagename eq nginx.exe"

信息:没有运行符合指定条件的任务。

如果有正在运行的nginx,您会看到它们

答案 9 :(得分:0)

如果您使用的是Mac计算机,并且已使用

安装了nginx
brew install nginx

然后

brew services list

是您的命令。这将返回通过brew安装的服务及其相应状态的列表。

enter image description here

答案 10 :(得分:0)

Integer[] 将适用于非基于系统的版本。

在基于 systemd 的版本上,例如 Ubuntu Linux 16.04 LTS 及更高版本,请使用以下命令;

service nginx status