无法设置 nginx,但我的配置文件似乎没问题

无法设置 nginx,但我的配置文件似乎没问题

我有一台服务器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 的流量

相关内容