2012-07-17 108 views
6

我正在使用uWSGI和Nginx來服務我的Django網站(1.4版本)。我的文件結構是django_mysite/django_mysite /其中有一個wsgi.py文件。
我不斷收到502錯誤的網關錯誤。我有其他服務器運行的nginx,他們工作正常。nginx django 502壞的網關

我的nginx的配置:

server { 
    listen  80; 
    server_name beta.example.com; 

    keepalive_timeout 70; 

    root /path/to/django_mysite/django_mysite; 


    location root { 
     root html; 
     uwsgi_pass localhost:9000; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     include  uwsgi_params; 
    } 

    location/{ 
     uwsgi_pass localhost:9000; 
     include  uwsgi_params; 
     uwsgi_param SCRIPT_NAME /django; 
     uwsgi_param UWSGI_SCRIPT django_wsgi; 
     uwsgi_modifier1 30; 
    } 
} 

我wsgi.py文件: 進口SYS 進口OS

sys.path.append('/path/to/django_mysite/') 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings") 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

日誌中的錯誤是:

*3 recv() failed (104: Connection reset by peer) while reading response header from upstream 

感謝

+0

日誌說什麼? – 2012-07-17 19:17:04

+0

* 42連接()到unix:///tmp/uwsgi.sock失敗(2:沒有這樣的文件或目錄),同時連接到上游 – 2012-07-17 19:20:44

回答

1

我找到的解決方案是: 我爲創建uwsgi workers而創建的uwsgi.ini文件沒有指定套接字。於是我製作了另一個.ini文件併爲它創建了一個套接字。我將這個套接字放入uwsgi_pass下的nginx conf文件中。這是一個鏈接到Django的網頁,用於配置uwsgi。

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

1

我面臨同樣的問題,但我figered它在以下方式。

如果第三方應用程序包含在您的項目中,那麼它應該安裝在您的服務器上,就像south是第三方應用程序一樣。 考慮南你的settings.py文件,然後南應該也安裝在你的服務器上。 如果該模塊考慮在這裏,已經安裝在服務器上,然後嘗試升級它。因爲您可能在本地計算機上使用模塊的升級版本,並且在服務器中安裝了舊版本。