uwsgi配置
Python Django部署
uwsgi的配置
WSGI是一个web服务器网关接口,是python应用程序或框架和web服务器之间的一种接口,python并不懂得http协议,需要通过wsgi进行翻译。uwsgi是WSGI的一种,它实现了http协议,以及WSGI协议。
# 检查是否安装
pip freeze|grep -i ‘uwsgi’
# 安装语句
pip install uwsgi==[版本号]
uwsgi配置文件与Django项目的seeting.py文件同一个目录,文件格式为uwsgi.ini
[uwsgi] # 这个一定要放在首行,必须存在
http=IP地址加端口号
chdir=/home/ymy/<项目名称> # 这里放的是绝对引用的地址
wsgi-file=<项目名称>/wsgi.py # 这里的地址是以chdir为目标,相对饮用的地址信息
process=4 # 进程数,cpu核数
threads=2 # 线程数
pidfile=uwsgi.pid # wsgi进程启动后,会将主进程的ID写进该文件,会运用该文件来进行wsgi服务的关闭
daemonize=uwsgi.log # 这个选项存在就表示后台启动,并且所有之前在前台现实的信息,都会录入进该文件
master=true
uwsgi的启动和关闭命令
uwsgi --ini uwsgi.ini # 启动命令
uwsgi --stop uwsgi.pid # 停止命令
uwsgi的启动失败原因排查
- 端口被占用,通过lsof -i:端口号查询出具体进程,关闭进程后,重新启动uwsgi
- 停止失败,stop无法关闭,原因可能是重复启动uwsgi,导致pid文件中的进程号失准。通过ps命令查询出uwsgi进程,手动kill。