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

实践证明两种效果等同

 

posted @ 2020-11-11 10:15  Tumbled  阅读(128)  评论(0)    收藏  举报