前言
uWSGI是一个全功能的HTTP服务器,实现了WSGI协议、uwsgi协议、http协议等。它要做的就是把HTTP协议转化成语言支持的网络协议。比如把HTTP协议转化成WSGI协议,让Python可以直接使用。
uWSGI的特点:
1.内存占用低
2.单节点服务器的简易部署
3.轻量级,好部署
1、项目结构
2、安装配置
uWSGI 安装:pip install uwsgi
在项目根目录下新建 uwsgi.ini
文件
[uwsgi]
# 地址端口
http = 0.0.0.0:5200
# 项目路径
chdir = /home/project/flask/UploadFiles
# 项目启动文件
wsgi-file = manage.py
# 项目需要调用的启动类
callable = app
# 进程线程设置
processes = 2
threads = 10
# 日志文件
daemonize = logs/uwsgi.log
# 启动的环境路径
home = /home/.virtualenvs/flaskweb
# 保存主进程pid文件
pidfile = uwsgi.pid
# 是否需要主进程
master = true
注意:
1.如果只用uwsgi做服务,地址端口就用-http,不能用-socket ,否则会报 invalid request block size: 21573 (max 4096)…skip 错误;如需要配合 nginx 使用,改为 stocket=5200;
2.日志目录(logs)需要提前新建好,如目录不存在,日志文件不会生成;
3、启动 / 重启 / 停止
在项目根目录下执行命令
启动:uwsgi --ini uwsgi.ini
重启:uwsgi --reload uwsgi.pid
停止:uwsgi --stop uwsgi.pid
注意:
uWSGI 通过 uwsgi.ini 启动后会在相同目录下生成一个 uwsgi.pid 的文件,里面只有一行内容是 uWSGI 的主进程的进程号。
重启命令无法在uwsgi停止后执行,只能在它运行期间执行重启,否则报错。
kill 全部 uwsgi ini 进程:killall -s INT uwsgi
查看 uwsgi 有关的进程 :ps -ef |grep uwsgi