2014-11-21 36 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