转换uWSGI HTTP服务器改为在Nginx后面工作

时间:2016-05-16 17:53:08

标签: nginx flask uwsgi

我正在使用uwsgi --http-socket 127.0.0.1:3031 -w app:app向uWSGI提供我的应用程序,当我在浏览器中转到127.0.0.1:3031时,该应用程序正常运行。我想使用Nginx,所以我告诉它{@ 1}}到那个网址,但现在我收到了502 Bad Gateway错误。如何将uWSGI置于Nginx后面?

uwsgi_pass
server {
    listen 8080;
    server_name 127.0.0.1;

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

    location /static {
        alias /static/folder/location;
    }
}

2 个答案:

答案 0 :(得分:0)

使用socket,而不是http-socket

uwsgi --socket 127.0.0.1:3031 -w app:app

http-socket使uWSGI就像一个说HTTP的Web服务器,如果你使用的是Nginx则不正确,因为它直接理解uWSGI。

答案 1 :(得分:0)

您可以在nginx和uWSGI之间使用http-socket。 例如,如果您使用uWSGI启动您的python应用程序:

uwsgi --http-socket 127.0.0.1:3031 --wsgi-file application.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191

使用以下命令配置Nginx:

location / {
    proxy_pass http://127.0.0.1:3031/;
}