uWSGI的配置與發布


參考:   https://www.cnblogs.com/pyyu/p/9481344.html

 

一、什么是wsgi, uwsgi, uWSGI

 wsgi

全稱web server gateway interface,wsgi不是服務器,也不是python模塊,
只是一種協議描述web server如何和web application通信的規則。 運行在wsgi上的web框架有bottle,flask,django

  uwsgi

和wsgi一樣是通信協議,是uWSGI服務器的單獨協議,用於定義傳輸信息的類型

  uWSGI

是一個web服務器,實現了WSGI協議,uwsgi協議

 

二、安裝uWSGI

復制代碼
進入虛擬環境venv,安裝uwsgi
(venv) [root@slave 192.168.11.64 /opt]$pip3 install uwsgi
檢查uwsgi版本
(venv) [root@slave 192.168.11.64 /opt]$uwsgi --version
2.0.17.1
#檢查uwsgi python版本
uwsgi --python-version

 

三、uWSG簡單運行

#啟動一個python
uwsgi --http :8000 --wsgi-file test.py
http :8000: 使用http協議,端口8000
wsgi-file test.py: 加載指定的文件,test.py
#test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3

 

熱加載python程序

在啟動命令后面加上參數
uwsgi --http :8088 --module mysite.wsgi --py-autoreload=1 
#發布命令
command= /home/venv/bin/uwsgi --uwsgi 0.0.0.0:8000 --chdir /opt/mysite --home=/home/venv --module mysite.wsgi
#此時修改django代碼,uWSGI會自動加載django程序,頁面生效

 

運行django程序

 

#mysite/wsgi.py  確保找到這個文件
uwsgi --http :8000 --module mysite.wsgi
module mysite.wsgi: 加載指定的wsgi模塊

 

 

四、使用.ini配置文件加載python程序

4.1  uwsgi支持ini、xml等多種配置方式,本文以 ini 為例, 在/etc/目錄下新建uwsgi_nginx.ini,添加如下配置:

# mysite_uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /opt/mysite
# Django's wsgi file
module          = mysite.wsgi
# the virtualenv (full path)
home            = /opt/venv
# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 1
# the socket (use the full path to be safe
socket          = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

 

 

#添加配置選擇
[uwsgi]
#配置和nginx連接的socket連接
socket=127.0.0.1:8002
#配置項目路徑,項目的所在目錄
chdir=/home/pp1709/wangsen_work/wsftp/myweb
#配置wsgi接口模塊文件路徑
wsgi-file=myweb/wsgi.py
#配置啟動的進程數
processes=4
#配置每個進程的線程數
threads=2
#配置啟動管理主進程
master=True
#配置存放主進程的進程號文件
pidfile=uwsgi.pid
#配置dump日志記錄
daemonize=uwsgi.log`

 

 

4.2 指定配置文件啟動

uwsgi --ini  /etc/uwsgi_nginx.ini  #不加--ini也可以

 

  • 顯示 [uWSGI] getting INI configuration from uwsgi.ini 表明uwsgi運行成功。
  • 通過 ps -ef|grep uwsgi 查看確認是否uwsgi啟動。

 

4.3 停止運行uwsgi,通過包含主進程編號的文件設置停止項目

 >  uwsgi --stop uwsgi.pid

 

4.4 重啟uwsgi

>  uwsgi --reload uwsgi.pid

 


免責聲明!

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



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