问题描述
在本地计算机上运行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
但是,输出始终相同:
How to verify if nginx is running or not?
最佳解决方法
查看您的要求,以下命令应为help:
service nginx status
次佳解决方法
这可能是system-dependent,但这是我找到的最简单的方法。
if [ -e /var/run/nginx.pid ]; then echo "nginx is running"; fi
那是脚本编写的最佳解决方案。
第三种解决方法
您可以使用lsof
查看端口80上侦听的应用程序:
sudo lsof -i TCP:80
第四种方法
现代的(systemctl
)方式:
systemctl is-active nginx
您可以在 shell 程序脚本中使用退出值,如下所示:
systemctl -q is-active nginx && echo "It is active, do something"
第五种方法
也可以使用以下代码检查nginx的状态:
sudo /etc/init.d/nginx status
第六种方法
以上答案均对我无济于事,所以让我分享一下我的经验。我正在具有端口映射(hostPort:containerPort)-80:80的Docker容器中运行nginx-上面的答案给了我奇怪的控制台输出。只有好的旧版’nmap’甚至在捕获nginx版本时都可以正常工作。对我有用的命令是:
nmap -sV localhost -p 80
我们正在使用localhost和端口上的-ServiceVersion开关进行nmap:80。它对我来说很棒。