centos8 下配置 uwsgi + Django

该过程位于centos的docker容器中进行
django版本2.1
参考链接
如何配置nginx+uwsgi+django?
django文档,如何使用uwsgi进行配置
安装环境

yum -y install python36
yum -y install gcc
yum -y install python36-devel

安装uwsgi

pip3 install uwsgi

测试uwsgi是否安装完成

uwsgi --version

简单测试

创建test.py 文件,内容为

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
    #return ["Hello World"] # python2
  • start_response 是wsgi中规定的header的内容
  • 之后返回的是主体内容

安装git

yum -y install git

拷贝要部署的项目

git clone [项目链接]

使用uwsgi 部署

在一个合适的地方配置uwsig.ini用作配置文件

笔者将uwsgi.ini 放在了django项目同名目录的内层

文件结构如下

+ mysite
++ mysite
--- __init__.py
--- __pycache__
--- setting.py
--- urls.py
--- uwsgi.ini
--- uwsgi.pid
--- wsgi.py
++ app1
++ app2

其中 uwsgi.ini的配置信息如下

[uwsgi]
# 项目目录,django项目同名文件夹外文件地址
chdir = /home/mysite
# 此处填这个mysite.wsgi将mysite改成项目名称即可,它会自动前往wsgi.py 找寻
modul = mysite.wsgi
# 作为主进程,其他为子进程
master = true
# 地址端口
http = 127.0.0.1:80
# 日志输出位置
daemonize = /home/mysite.log
# sock文件,目前未知用处
socket = /home/uwsgi.sock
# 运行的pid存储位置
pidfile = uwsgi.pid

此处[uwsgi] 的头必须有,用于识别配置

在uwsgi.pid中仅有一个数字作为pid(进程号)

1149

uwsgi 无法通过kill pid停止,其会自动重启

必须通过其提供的停止命令

uwsgi 使用

启动

uwsgi --ini uwsgi

停止

uwsgi stop uwsgi.pid

此处 uwsgi.pid 仅存储了该进程运行的pid

通过ps -aux| grep uwsgi 可以查看

会被存储在uwsgi.pid

重启

uwsgi --stop uwsgi.pid
posted @ 2019-11-27 16:43  Phoenix_Xie  阅读(1809)  评论(0编辑  收藏  举报