1.含义
WSGI是Web服务器网关接口.是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求),基于wsgi运行的框架有DJango,Flask,用于解析动态HTTP请求
客户端 <<->> Nginx <<->> uWSGI <<->> Python应用程序(Django, Flask)
名称 | 含义 | 注意 |
---|---|---|
wsgi 协议 | web server gateway interface | 描述web server如何和web application(flask,django)通信的规则 |
uwsgi协议 | uWSGI服务器的单独协议 | 用于定义传输信息的类型 |
uWSGI 服务器 | web服务器 | 实现了WSGI协议,uwsgi协议 |
2.基本应用
#安装uwsgi
pip3 install uwsgi
在Django项目的setting.py的同级目录新建uwsgi.ini
[uwsgi]
# Django-related settings
# the base directory (full path)(项目绝对路径)
chdir = /home/jason/document/CRM/crm/
# Django's wsgi file(wsgi.ini绝对路径)
module = crm.wsgi
# the virtualenv (full path)
# (MYCRM虚拟环境路径,virtualenvwrapper环境可以通过cdvirtualenv命令获取)
home = /root/.virtualenvs/MyCRM
# process-related settings
# master
master = true
# maximum number of worker processes(核数*2+1)
processes = 3
buffer-size = 65536
# 单独调试uwsgi时可以使用http
#http = 0.0.0.0:8080
#the socket (use the full path to be safe)
#这里的socket参数,用户和nginx结合部署的unix-socket参数,
#使用此协议运行后台,就无法通过浏览器访问
socket = 0.0.0.0:8080
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
py-autoreload =1
#daemonize = /home/jason/document/CRM/crm/crm/debug.log
WSGI 常用命令
#启动uwsgi
uwsgi --ini /etc/uwsgi_nginx.ini
# 重启uWSGI服务器
$ sudo service uwsgi restart
# 查看所有uWSGI进程
$ ps aux | grep uwsgi
# 停止所有uWSGI进程
$ sudo pkill -f uwsgi -9