一、是什麼?
uWSGI是web伺服器,用來部署線上web應用到生產環境。uWSGI實現了WSGI協議、uwsgi協議、http協議。WSGI(Web Server Gateway Interface)是一種web伺服器閘道器介面。它是一個web伺服器與web應用通訊的一種規範
WSGI是一種通訊協議,不是伺服器
uWSGI是web伺服器
uwsgi協議是一種線路協議而不是通訊協議,是fcgi協議的10倍
uwsgi協議常用於uWSGI伺服器與其他網路伺服器的資料通訊。
uwsgi協議用於定義傳輸資訊的型別。
二、怎麼做?
uwsgi可以用命令列來執行,也可以用配置檔案來執行。
命令列語法:
①,命令列引數: –<option>
因為在實際環境中使用配置檔案來管理,所以這裡只介紹用配置檔案的方式.ini .xml .json .yaml
官方推薦使用.ini
.ini語法:
①,key = value
②,# 為註釋符號
③,true false 為布林值
④,執行配置檔案命令uwsgi my.ini = uwsgi –ini my.ini
.ini可用配置引數:
# socket: 地址和埠號(需要和nginx搭配使用;http-socket是通過http協議執行[效能差]) socket = 127.0.0.1:5000
processes: 開啟的程式數
chdir: 指定執行目錄 before apps loading
wsgi-file: 載入wsgi-file
stats: 在指定地址上,開啟狀態服務
master: 允許主程式存在
daemonize: 使程式在後臺執行,並將日誌列印到指定的日誌檔案
pidfile: 指定pid檔案的位置,記錄程式的pid號
vacuum: 當伺服器退出時自動清理環境(刪除Unix socket檔案和pid檔案)
disable-logging: 不記錄請求資訊的日誌,只記錄錯誤以及uwsgi內部訊息到日誌中
uWSGI命令:
啟動:uwsgi my.ini
過載:uwsgi –reload my.pid
重啟:uwsgi –stop my.pid
工具:uwsgitop 配合status使用