uwsgi可以简单的理解为一个桥梁,链接应用程序和服务端,代替服务端启动
通过Nginx和uwsgi实现多进程访问flask项目
1、安装nginx和uwsgi
apt-get install python-setuptools,nginx
sudo apt-get install python2.7-dev
sudo pip install uwsgi
2、配置nginx
http {
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
server {
listen 5000;
server_name www.hshsdays.com;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #注:这里的端口8000和uwsgi的里配的是同一个端口,也就是你定义的服务器启动的端口,因为nginx和uwsgi需要通过这个端口进行交互
}
}
}
3、配置uwsgi
vi testwsg.ini 将该文件放进开发的项目文件夹里,作为启动文件
[uwsgi]
socket = 127.0.0.1:8000 #注: 指定某个固定端口
processes = 4 #注:跑几个进程,这里用4个进程
threads = 2
master = true #启动一个master进程来管理其他进程,以上述配置为例,其中的4个uwsgi进程都是这个master进程的子进程,如果kill这个master进程,相当于重启所有的uwsgi进程
pythonpath = /home/test #开发项目的目录
module = server #项目的启动文件名
callable = app #Flask项目的实例名称,上例代码中app =Flask(__name__),所以这里为app
memory-report = true #开启内存使用情况报告
4、启动uwsgi
uwsgi -d /var/log/uwsgi.log --ini /data/web_app/testpro/test_config.ini &
5、创建的项目就不用启动了,直接访问
本文出自 “新掌门” 博客,请务必保留此出处http://linuxnewstar.blog.51cto.com/6967359/1901143
原文地址:http://linuxnewstar.blog.51cto.com/6967359/1901143