当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

在本地计算机上运行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

但是,输出始终相同:

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。它对我来说很棒。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7500.html,未经允许,请勿转载。