Ubuntu nginx已启动,但端口80不在&x27;t在AWS上使用(根据netstat)

Ubuntu nginx已启动,但端口80不在&x27;t在AWS上使用(根据netstat),ubuntu,amazon-web-services,nginx,firewall,Ubuntu,Amazon Web Services,Nginx,Firewall,我正在运行Ubuntu服务器14。我有一个nginx服务器在监听端口80。它启动后运行良好,我知道这一点,因为它以前运行过。我想,亚马逊网络服务改变了我的防火墙。服务器已启动并正在运行,但现在当将浏览器指向服务器的公共DNS或IP地址时,它会以响应此网页不可用。 我运行了sudonetstat-antp,结果如下: Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address

我正在运行Ubuntu服务器14。我有一个nginx服务器在监听端口80。它启动后运行良好,我知道这一点,因为它以前运行过。我想,亚马逊网络服务改变了我的防火墙。服务器已启动并正在运行,但现在当将浏览器指向服务器的公共DNS或IP地址时,它会以
响应此网页不可用
。
我运行了sudonetstat-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 

^但是,你必须自己解决最后两个问题

你确定nginx真的启动了吗?
sudo服务nginx status
为您提供了什么?这可能是nginx根本没有启动。pgrep-fl nginx的输出是什么?错误日志的内容是什么?pgrep显示nginx正在运行<代码>服务。。。状态显示nginx正在运行。我在对答案的评论中描述了错误日志的内容。是什么给出了
lsof-p$(pgrep-f nginx-d',')-nP | egrep-I“pid | tcp”
(必要时安装lsof)?这与防火墙无关,这与nginx进程有关。谢谢,该命令只返回以下内容:
command PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
我想这些只是表的标题。我运行了这些命令。Nginx正在运行,Nginx.conf测试成功。运行
服务nginx start
未给出任何输出。最近的错误发生在11月20日。它们的格式都是
[error]2293#0:*1530open()”
我很确定它们不相关。没有使用端口80或端口8080。如果一切正常,
netstat
命令不应该显示使用端口80的nginx吗?