在我的本地计算机上running an ASP.NET vNext project之后,我试图找出如何在nginx上运行它,因为它看起来像recommended choice
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是否正在运行?
答案 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计算机,并且已使用
安装了nginxbrew install nginx
然后
brew services list
是您的命令。这将返回通过brew安装的服务及其相应状态的列表。
答案 10 :(得分:0)
Integer[]
将适用于非基于系统的版本。
在基于 systemd 的版本上,例如 Ubuntu Linux 16.04 LTS 及更高版本,请使用以下命令;
service nginx status