centos8 下配置 uwsgi + Django

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

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

安装uwsgipython

pip3 install uwsgi

测试uwsgi是否安装完成nginx

uwsgi --version

简单测试

建立test.py 文件,内容为git

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的内容
  • 以后返回的是主体内容

安装gitdocker

yum -y install git

拷贝要部署的项目shell

git clone [项目连接]

使用uwsgi 部署

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

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

文件结构以下app

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

其中 uwsgi.ini的配置信息以下socket

[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
相关文章
相关标签/搜索