uwsgi
一、简单介绍
WSGI:web网关请求接口
django自带的wsgiref在调试模式下使用的wsgi的文件
uwsgi:协议
uWSGI:具体实现方式
二、安装
pip3 install uwsgi -i https://pypi.douban.com/simple
如果想在虚拟环境下使用uwsgi,进入虚拟环境后安装即可,该安装没有
三、配置运行
1、通过python自带wsgi跑起来
1.1进入想放置项目的目录,利用django创建项目
django-admin startproject mysite
1.2运行项目
python3 manage.py runserver 0.0.0.0:8080
坑一:SQLite 3.8.3 or later is required (found 3.6.20).
原因:centos自带的SQLite版本过低,无法适应django要求
详细:https://blog.csdn.net/weixin_43883625/article/details/100709484
坑二:You may need to add '121.196.123.104' to ALLOWED_HOSTS
原因:django自带的防火墙禁止当前服务器进行访问
解决方式:进入项目的setting文件,将ALLOWED_HOSTS = []修改成ALLOWED_HOSTS = [‘*’]
2、通过uwsgi跑起来
2.1直接启动uwsgi(不常用)
uwsgi --http :8080 --module mysite.wsgi
2.2通过配置文件启动uwsgi(常用,可以后台运行)
2.2.1创建uwsgi配置文件
vim /env_python/gjb
[uwsgi]
http = :8080
#项目目录
chdir= /root/test/django_test/mysite/mysite
#指定uwsgi文件
wsgi-file= mysite/wsgi.py
virtualenv = /env_python/gjb
虚拟环境所在目录
home = /env_python/gjb
PYTHONHOME = /env_python/gjb/bin
processes = 2
threads=2
#后台运行和指定日志文件目录
daemonize=/root/test/django_test/mysite/mysite/django.log
#清除临时文件
vacuum=true
#python文件改变自动重新加载
py-autoreload=1

2.2.2启动运行
uwsgi --ini /etc/uwsgi.ini
2.3关闭
killall uwsgi
killall -9 uwsgi
2.4查看进程
ps -ef|grep wsgi

如果需要使用指定的虚拟环境运行项目,可在uwsgi.ini中作如下配置
第一种方式:
virtualenv = /env_python/gjb
第二种方式:
home = /env_python/gjb
PYTHONHOME = /env_python/gjb/bin
实践证明两种效果等同
浙公网安备 33010602011771号