uWSGI
什么是uWSGI
- uWSGI是一个web服务器,它实现了WSGI协议、uwsgi协议、http协议等。
什么是WSGI
- WSGI是一种Web服务器网关接口。它是一个Web服务器(uWSGI等服务器)与web应用(如用Django/Flask框架写的程序)通信的一种协议。
什么是uwsgi
- uwsgi是一种线路协议而不是通信协议,常用于在uWSGI服务器与其他网络服务器的数据通信。
作用
- 进行协议之间进行转换
- 与Python application进行通信
基本命令
- 启动
- uwsgi–ini 配置文件路径
- 停止
- uwsgi–stop uwsgi.pid路径
uWSGI在django下的配置
-
settings.py下
DEBUG=FALSE
ALLOWED_HOSTS=["*"] -
uwsgi.ini下
[uwsgi]
# 使用nginx连接时使用
socket=ip:port
# 直接作为web服务器使用
# http=ip:port
# 项目目录
chdir=项目目录
# 项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=项目名/wsgi.py
processes=4
threads=2
master=True
# 保存启动之后主进程的pid
pidfile=uwsgi.pid
# 设置uwsgi后台运行,uwsgi.log保存日志信息
daemonize=uwsgi.log
virtualenv=虚拟环境目录
uwsgi在Nginx下的配置
server {
listen 80;
server_name 域名;
location / {
# 包含uwsgi的请求参数
include uwsgi_params;
# 转发请求给uwsgi
uwsgi_pass uwsgi服务器的ip:port;
}
}