2013-07-17 98 views
2

我試圖在運行Ubuntu 10.10的Linode VPS上部署Flask應用程序。我一直在關注這個教程(https://library.linode.com/web-servers/nginx/python-uwsgi/ubuntu-10.10-maverick#sph_configure-nginx),但我一直得到502錯誤的網關錯誤。502錯誤的網關錯誤Nginx和uWSGI部署Flask應用程序

,這是這裏的/ etc /默認/ uwsgi:

PYTHONPATH=/var/www/reframeit-im 
MODULE=wsgi 

這裏是/var/www/reframeit-im/wsgi.py:

# add the application directory to the python path 
import sys 
sys.path.append("/var/www/reframeit-im") 

# run flask app 
from reframeit import app as application 

這裏是應用程序的nginx的配置文件,其被鏈接到啓用站點-/目錄(/ opt/nginx的/ conf目錄/啓用站點-/ reframeit-IM):

server { 
    listen 80; 
    server_name www.reframeit-im.coshx.com reframeit-im.coshx.com; 
    access_log /var/www/reframeit-im/logs/access.log; 
    error_log /var/www/reframeit-im/logs/error.log; 

    location/{ 
     include uwsgi_params; 
     uwsgi_pass 127.0.0.1:9001; 
    } 
} 

我查了nginx的ER對於應用ROR日誌,我發現這一點:

2013/07/17 19:30:19 [error] 20037#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 70.88.168.82, server: www.reframeit-im.coshx.com, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://127.0.0.1:9001", host: "reframeit-im.coshx.com" 

是不是有什麼毛病我的配置?

回答

1

隨着uwsgi_pass 127.0.0.1:9001;你向Nginx聲明你的意圖是通過TCP套接字與uWSGI交談,但並未警告uWSGI。

嘗試添加相應的插座線到你/etc/default/uwsgi文件:

PYTHONPATH=/var/www/reframeit-im 
MODULE=wsgi 
socket=127.0.0.1:9001 
+0

添加'socket'行似乎沒有任何作用;我仍然收到502錯誤網關錯誤。 –

+0

仍然得到'上游過早閉合connection'錯誤?或者是其他東西? – flaviodesousa

+0

非常感謝弗拉維奧,這爲我工作。 –

0

請加「協議= uwsgi」除了什麼弗拉維奧曾建議。如下所示

PYTHONPATH=/var/www/reframeit-im 
MODULE=wsgi 
socket=127.0.0.1:9001 
protocol = uwsgi