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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM