我有一台服务器176.227.213.2。所以我为默认服务器创建了一个 conf 文件(默认配置文件)
server {
listen 80;
server_name default 176.227.213.2;
location / {
root /var/www/html;
index index.php index.html;
}
.........
完整配置。但我甚至无法让一个 index.html 工作。服务器没有响应。访问日志是空的,我猜这意味着 nginx 根本没有监听请求。我仔细检查了路径和文件。
我不明白这里的问题是什么。
更新:输出,
网络状态监测
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 590/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 855/sendmail: accep
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1991/php-fpm: maste
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 756/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3031/nginx: master
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 759/perl
tcp6 0 0 :::22 :::* LISTEN 590/sshd
udp 0 0 0.0.0.0:10000 0.0.0.0:* 759/perl
更新 2:在听取了 @jamzed 的建议后,我检查了我的 iptables,发现端口 80 未打开。添加了一条打开端口的规则,重新启动了我的系统,一切正常。希望对您有所帮助!
答案1
尝试从本地主机连接到本地主机:
$ printf "GET / HTTP/1.0\r\n\r\n" | nc 127.0.0.1 80
或者
$ telnet 127.0.0.1 80
您是否检查过端口 80 的防火墙规则?您还可以使用 tcpdump 检查数据包是否到达您的 Web 服务器。
答案2
可能有问题fastcgi_pass 127.0.0.1:9000;
。尝试将其更改为fastcgi_pass 176.227.213.2:9000;
检查你的防火墙规则,它可以阻止到 127.0.0.1 的流量