nginx如何与运行Flask应用的uWSGI配合使用?
问题描述:
我对python,nginx和烧瓶都很陌生,所以把我所描述的东西理解成一粒盐。nginx如何与运行Flask应用的uWSGI配合使用?
我正在看它前面的烧瓶应用程序和nginx的设置。我理解它的方式,nginx服务器,面向web,后面是一个在uWSGI服务器上运行的应用程序。
我看到上游,服务器和为nginx配置的位置。所以我知道哪个路由映射到哪个内部端口。
我试图找到为烧瓶app/uWSGI服务器配置端口的位置。在日志中我看到: uWSGI HTTP绑定上:8080 FD 4 但用netstat检查时,我没有看到8080端口绑定
在哪个端口上做的Nginx和uWSGI服务器/瓶的应用程序通过请求?该端口在哪里配置?
谢谢!
答
您可以使用--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的网站配置中获取。
https://github.com/mking/flask-uwsgi – vittore 2015-02-11 19:17:50
它取决于你的配置通常它们会通过套接字绑定,而不是端口。 – 2015-02-11 19:22:45