nginx如何与运行Flask应用程序的uWSGI一起使用?

时间:2015-02-11 19:15:02

标签: python nginx flask uwsgi

我对蟒蛇,nginx和烧瓶都很陌生,所以要理解我所描述的事物,并带着一丝盐味。

我正在查看一个烧瓶应用程序和nginx的设置。我理解它的方式,面向网络的nginx服务器,它背后是一个在uWSGI服务器上运行的烧瓶应用程序。

我看到为nginx配置的上游,服务器和位置。所以我知道哪条路由映射到了哪个内部端口。

我试图找到为flask app / uWSGI服务器配置端口的位置。在日志中我看到: uWSGI http绑定于:8080 fd 4 但是当用netstat检查时,我没有看到端口8080绑定

nginx和uWSGI服务器/烧瓶应用程序在哪个端口上传递请求?该端口配置在哪里?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用--socket选项(或相关的配置文件值)配置要使用的端口或本地套接字。

[uwsgi]
master = true
processes = 8
threads = 2
socket = /home/sopython/uwsgi.sock
vacuum = true
chdir = /home/sopython
virtualenv = /home/sopython
module = sopy:create_app()

然后配置nginx以与您选择的端口或套接字进行通信。

server {
    listen 80 default_server;
    listen [::]:80 ipv6only=on default_server;
    server_name sopython.com;
    root /home/sopython;

    location /static {
        alias /home/sopython/lib/python3.4/site-packages/sopy/static;
    }

    location / {
        include uwsgi_params;
        uwsgi_param HTTP_HOST $server_name;
        uwsgi_pass unix:///home/sopython/uwsgi.sock;
    }
}

这取自Python chat room的网站配置。