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 :*
我认为是菜鸟错误,但我希望这个答案能帮助那些正在为同样的问题而苦苦挣扎的人。
我正在使用 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 :*
我认为是菜鸟错误,但我希望这个答案能帮助那些正在为同样的问题而苦苦挣扎的人。