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

问题描述 投票:28回答:7

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是否正在运行?

asp.net ubuntu nginx mono
7个回答
56
投票

看看你的要求,下面的命令应该是help

service nginx status


15
投票

这可能与系统有关,但这是我发现的最简单的方法。

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

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


11
投票

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

sudo lsof -i TCP:80

3
投票

现代(systemctl)的做法:

systemctl is-active nginx

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

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

2
投票

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

nmap -sV localhost -p 80

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


2
投票

也可以使用以下代码来检查nginx状态:

   sudo /etc/init.d/nginx status

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/\/.*$//' 

并且还表明预期的结果。

© www.soinside.com 2019 - 2024. All rights reserved.