2014-11-21 57 views
0

我试图获得以下设置与gunicorn和nginx一起使用。一切正常,直到我添加第二个server配置...Nginx配置不适用于两个子域

upstream app_server_djangoapp { 
    server localhost:8002 fail_timeout=0; 
} 

server { 
    listen 80; 
    server_name api.domain.tld; 
    access_log /var/log/nginx/guni-access.log; 
    error_log /var/log/nginx/guni-error.log info; 

    keepalive_timeout 5; 

    # Size in megabytes to allow for uploads. 
    client_max_body_size 20M; 

    # path for static files 
    root /home/username/webapps/guni/static; 

    location /docs/ { 
       autoindex on; 
       alias /srv/site/docs/buildHTML/html/; 
    } 



    location/{ 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_redirect off; 

     if (!-f $request_filename) { 
      proxy_pass http://app_server_djangoapp; 
      break; 
     } 
    } 

} 

server { 
    listen 80; 
    server_name flower.domain.tld; 
    location/{ 
     proxy_pass http://localhost:5555; 
     } 

我在做什么错了?我需要有两个子域一个映射到我的Django应用程序和其他映射到我的监控软件在5555(花)

日志文件指出:

2014年11月21日12时03分27秒[EMERG ] 962#0:文件意外结束,预计 “}” 在/ etc/nginx的/启用的站点 - /默认:47

+0

究竟什么不起作用?是nginx无法重新加载,第二个服务器是不是工作或添加第二个后都不工作? – mvuajua 2014-11-21 12:13:45

+0

添加server_name后,flower.domain.tld服务器设置不加载。有什么地方可以检查Ubuntu上的日志吗? – Prometheus 2014-11-21 12:14:51

+0

@mvuajua更新了OP,并在/var/log/nginx/nginx_error.log中找到了来自日志的错误 – Prometheus 2014-11-21 12:16:38

回答

2

您的代码缺少结束 “}” 在最后:

server { 
    listen 80; 
    server_name flower.domain.tld; 
    location/{ 
     proxy_pass http://localhost:5555; 
    } 
} 

供将来参考: 在重新加载nginx之前,您可以运行nginx -t(如果需要,使用sudo)来测试配置 - 这将使您很好地描述配置文件中可能存在的任何错误。

+0

谢谢,nginx -t非常有用! – Prometheus 2014-11-21 12:30:03