1

我正在使用 nginx,尝试在端口 80(或 root)上加载站点在尝试连接一段时间后会出现 502 bad gateway 错误。

当我输入时:netstat -ltnp | grep :80我得到以下结果。

netstat 命令结果

这是我的 nginx.conf:

#user  nginx;

# The number of worker processes is changed automatically by CustomBuild, according to the number of CPU cores, if it's set to "1"
worker_processes  4;
pid /var/run/nginx.pid;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

events {
    include /etc/nginx/nginx-events.conf;
}


http {
    include       /etc/nginx/mime.types;

    # For user configurations not maintained by DirectAdmin. Empty by default.
    include /etc/nginx/nginx-includes.conf;

    # Supplemental configuration
    #include /etc/nginx/nginx-modsecurity-enable.conf;
    include /etc/nginx/nginx-defaults.conf;
    include /etc/nginx/nginx-gzip.conf;
    include /etc/nginx/nginx-proxy.conf;
    include /etc/nginx/directadmin-ips.conf;
    include /etc/nginx/directadmin-settings.conf;
    include /etc/nginx/nginx-vhosts.conf;
    include /etc/nginx/directadmin-vhosts.conf;

        server {
        listen 80;

        root   /var/www/html;
        index index.html index.htm index.php;

        }
}

注意:除 80 以外的任何其他端口都可以正常工作。显然 8080 和 8081 被占用,但除此之外,任何其他端口(例如 8000)都可以正常工作。

到目前为止我尝试过的事情: 这个解决方案和使用代理

这可能是什么原因造成的?

4

1 回答 1

1

好的,所以我开始注释掉所有包含的内容,并且知道下面的行定义了另一个端口 80服务器:

include /etc/nginx/directadmin-vhosts.conf;

因此我操纵了这个文件 ( directadmin-vhosts.conf) 而不是在 中定义我的服务器nginx.conf,然后一切都很好。

请注意,由于某种原因,此命令并未准确显示所有占用的端口 80:

netstat -ltnp | grep :80

因此,我改用了下面的命令,那时我意识到 nginx 在其他地方也使用了 80 端口。

netstat -ltnp | grep :*

我认为是菜鸟错误,但我希望这个答案能帮助那些在同一问题上苦苦挣扎的人。

于 2017-02-04T08:14:26.037 回答