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