一、是什么?
uWSGI是web服务器,用来部署线上web应用到生产环境。uWSGI实现了WSGI协议、uwsgi协议、http协议。WSGI(Web Server Gateway Interface)是一种web服务器网关接口。它是一个web服务器与web应用通信的一种规范
WSGI是一种通信协议,不是服务器
uWSGI是web服务器
uwsgi协议是一种线路协议而不是通信协议,是fcgi协议的10倍
uwsgi协议常用于uWSGI服务器与其他网络服务器的数据通信。
uwsgi协议用于定义传输信息的类型。
二、怎么做?
uwsgi可以用命令行来运行,也可以用配置文件来运行。
命令行语法:
①,命令行参数: --<option>
因为在实际环境中使用配置文件来管理,所以这里只介绍用配置文件的方式.ini .xml .json .yaml
官方推荐使用.ini
.ini语法:
①,key = value
②,# 为注释符号
③,true false 为布尔值
④,运行配置文件命令uwsgi my.ini = uwsgi --ini my.ini
.ini可用配置参数:
# socket: 地址和端口号(需要和nginx搭配使用;http-socket是通过http协议运行[性能差]) socket = 127.0.0.1:5000
processes: 开启的进程数
chdir: 指定运行目录 before apps loading
wsgi-file: 载入wsgi-file
stats: 在指定地址上,开启状态服务
master: 允许主进程存在
daemonize: 使进程在后台运行,并将日志打印到指定的日志文件
pidfile: 指定pid文件的位置,记录进程的pid号
vacuum: 当服务器退出时自动清理环境(删除Unix socket文件和pid文件)
disable-logging: 不记录请求信息的日志,只记录错误以及uwsgi内部消息到日志中
uWSGI命令:
启动:uwsgi my.ini
重载:uwsgi --reload my.pid
重启:uwsgi --stop my.pid
工具:uwsgitop 配合status使用