ubuntu - nginx 已启动但端口 80 未在 AWS 上使用(根据 netstat)

标签 ubuntu amazon-web-services nginx firewall

我正在运行 Ubuntu 服务器 14。我有一个监听端口 80 的 nginx 服务器。它启动并运行良好,我知道这一点,因为它之前运行过。我认为与亚马逊网络服务有关的事情改变了我的防火墙。服务器已启动并正在运行,但现在当将浏览器定向到服务器的公共(public) DNS 或 IP 地址时,它会响应 此网页不可用。 我运行了 sudo netstat -antp,这是输出:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      941/sshd
tcp        0      0 172.31.28.156:22        24.78.205.33:9738       ESTABLISHED 1663/sshd: ubuntu [
tcp        0    340 172.31.28.156:22        24.78.205.33:10419      ESTABLISHED 1796/sshd: ubuntu [
tcp6       0      0 :::22                   :::*                    LISTEN      941/sshd

我知道nginx应该有一个端口开放。这里发生了什么?是防火墙问题吗?这对我来说是一个棘手的问题,因为我什至不知道这个问题的正确术语。谢谢。

最佳答案

以下是一些故障排除提示:

首先,确保你是root(这会节省你一些时间)

$ sudo su

然后,看看 nginx 是否会直接告诉您是什么在困扰着它:

# service nginx status
# nginx -t

这应该能告诉您问题所在。如果没有,请执行以下操作:

# service nginx start
# tail /var/log/nginx/error.log 

通常,这是配置文件中的错误,但在您的情况下,很可能是其他一些服务占用了 nginx 配置使用的端口之一。通常,这是端口 80 和端口 8080...所以,找到服务:

# netstat -lnp | grep -E '80|8080' 

并采取相应的行动:

# service apache2 stop
# apt-get remove tomcat7 

^ 但是,你必须自己弄清楚最后两个......

关于ubuntu - nginx 已启动但端口 80 未在 AWS 上使用(根据 netstat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27073189/

相关文章:

ruby-on-rails - 您推荐哪个 RVM 和 Ruby 版本?

Linux 备份 Bash

amazon-web-services - 什么是 AWS 主账户?

nginx如何proxy_pass到代理

git - 如何在 WSL(Windows 上的 Ubuntu)上使用 Git 凭据存储?

linux - 在 ubuntu 终端中列出帐户名称

amazon-web-services - 从cloudformation获取实例的详细信息

amazon-web-services - 当 ec2 实例终止时创建电子邮件通知。电子邮件应包含实例详细信息。例如 :Instance Name

nginx - Nginx 后面的 ASP.NET Core 中的 SignalR

amazon-web-services - Aurelia、Docker、Nginx、AWS Elastic Beanstalk 显示 502 错误网关