Nginx 在端口 80 上给出 502 Bad Gateway 错误

Nginx giving 502 Bad Gateway error on port 80

我正在使用 nginx,尝试在端口 80(或根目录)上加载站点,尝试连接一段时间后出现 502 错误网关错误。

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

这是我的 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)都可以正常工作。

到目前为止我尝试过的事情: 这个solution, and using proxy.

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

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

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

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

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

netstat -ltnp | grep :80

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

netstat -ltnp | grep :*

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