我有一个奇怪的问题,第一个反向代理网站工作正常,但如果我试图添加几秒相同设置的第二个site-enabled
只是几个主要的变化,如server_name
nginx根本无法启动或重新加载。如果我删除新的site-enabled
,它可以正常工作。
以下是工作地点代码:
include /etc/nginx/conf.d/shop_header;
server {
listen 80;
server_name www.classybrothers.com classybrothers.com;
include /etc/nginx/conf.d/shop_etc;
}
shop_header:
server_names_hash_bucket_size 64;
upstream shop {
server 127.0.0.1:2500;
}
server {
listen 80;
return 404;
}
shop_etc:
access_log /home/web/shop/logs/access.log;
error_log /home/web/shop/logs/error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://shop/;
proxy_redirect off;
}
工作正常。但是,如果我想添加我的第二个站点与子域名和不同的端口nginx不会启动。这是第二站点的代码:
include /etc/nginx/conf.d/ttt_header;
server {
listen 80;
server_name www.ttt.classybrothers.com ttt.classybrothers.com;
include /etc/nginx/conf.d/ttt_etc;
}
头:
server_names_hash_bucket_size 64;
upstream ttt {
server 127.0.0.1:3000;
}
server {
listen 80;
return 404;
}
等:
access_log /home/web/ttt/logs/access.log;
error_log /home/web/ttt/logs/error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://ttt/;
proxy_redirect off;
}
我暂时无法弄清楚这个问题。如果有任何人遇到过这个问题,建议我能做些什么来解决它,那会很棒。
编辑:问题解决了,server_names_hash_bucket_size 64;
删除它解决了问题。我的猜测是,如果一个站点已经运行它,则不需要重复它。
答案 0 :(得分:0)
当您的配置无效时,重新加载会生成错误消息,通常会通过解释错误和位置来提供帮助。
shop_header
和ttt_header
都定义server
在端口80上侦听,但没有server_name
,因此默认为&#39}。这个端口的服务器。
您不能拥有多个具有相同server
和listen
值的server_name
块。