nginx如何与运行Flask应用的uWSGI配合使用?

问题描述:

我对python,nginx和烧瓶都很陌生,所以把我所描述的东西理解成一粒盐。nginx如何与运行Flask应用的uWSGI配合使用?

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

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

我试图找到为烧瓶app/uWSGI服务器配置端口的位置。在日志中我看到: uWSGI HTTP绑定上:8080 FD 4 但用netstat检查时,我没有看到8080端口绑定

在哪个端口上做的Nginx和uWSGI服务器/瓶的应用程序通过请求?该端口在哪里配置?

谢谢!

+1

https://github.com/mking/flask-uwsgi – vittore 2015-02-11 19:17:50

+0

它取决于你的配置通常它们会通过套接字绑定,而不是端口。 – 2015-02-11 19:22:45

您可以使用--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的网站配置中获取。