第二个nginx网站不起作用

时间:2014-11-04 23:46:45

标签: node.js express nginx

我有一个奇怪的问题,第一个反向代理网站工作正常,但如果我试图添加几秒相同设置的第二个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;删除它解决了问题。我的猜测是,如果一个站点已经运行它,则不需要重复它。

1 个答案:

答案 0 :(得分:0)

当您的配置无效时,重新加载会生成错误消息,通常会通过解释错误和位置来提供帮助。

shop_headerttt_header都定义server在端口80上侦听,但没有server_name,因此默认为&#39}。这个端口的服务器。

您不能拥有多个具有相同serverlisten值的server_name块。