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
相關文章
相關標籤/搜索