2013-07-17 88 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