uWSGI的配置与发布

参考:   https://www.cnblogs.com/pyyu/p/9481344.html

一、什么是wsgi, uwsgi, uWSGI

 wsgi

全称web server gateway interface,wsgi不是服务器,也不是python模块,
只是一种协议描述web server如何和web application通信的规则。 运行在wsgi上的web框架有bottle,flask,django

  uwsgi

和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型

  uWSGI

是一个web服务器,实现了WSGI协议,uwsgi协议

二、安装uWSGI

复制代码
进入虚拟环境venv,安装uwsgi
(venv) [root@slave 192.168.11.64 /opt]$pip3 install uwsgi
检查uwsgi版本
(venv) [root@slave 192.168.11.64 /opt]$uwsgi --version
2.0.17.1
#检查uwsgi python版本
uwsgi --python-version

三、uWSG简单运行

#启动一个python
uwsgi --http :8000 --wsgi-file test.py
http :8000: 使用http协议,端口8000
wsgi-file test.py: 加载指定的文件,test.py
#test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
扫描二维码关注公众号,回复: 5940801 查看本文章

热加载python程序

在启动命令后面加上参数
uwsgi --http :8088 --module mysite.wsgi --py-autoreload=1 
#发布命令
command= /home/venv/bin/uwsgi --uwsgi 0.0.0.0:8000 --chdir /opt/mysite --home=/home/venv --module mysite.wsgi
#此时修改django代码,uWSGI会自动加载django程序,页面生效

运行django程序

#mysite/wsgi.py  确保找到这个文件
uwsgi --http :8000 --module mysite.wsgi
module mysite.wsgi: 加载指定的wsgi模块

四、使用.ini配置文件加载python程序

4.1  uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi_nginx.ini,添加如下配置:

# mysite_uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /opt/mysite
# Django's wsgi file
module          = mysite.wsgi
# the virtualenv (full path)
home            = /opt/venv
# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 1
# the socket (use the full path to be safe
socket          = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

4.2 指定配置文件启动

uwsgi --ini  /etc/uwsgi_nginx.ini  #不加--ini也可以

猜你喜欢

转载自www.cnblogs.com/jinfanfu/p/10732817.html