uwsgi簡介:
說uwsgi之前,先說一下wsgi。
什麼是wsgi?
wsgi: 是一種web伺服器閘道器介面,它是乙個web伺服器(如nginx) 與應用伺服器(如uwsgi伺服器)通訊的一種規範。
uwsgi是乙個web伺服器,它實現了wsgi協議,uwsgi,http等協議,nginx中httpuwsgimodul的作用是與uwsgi伺服器進行交換
那麼那些框架自帶了wsgi server呢?
很多框架都自帶了wsgi server, 比如: flask、 webpy、 dajngo、 cherrypy等等。當然效能都不好,自帶的web server更多的是本地測試用途,發布時則使用生產環境的wsgi server或者是聯合nginx做uwsgi。
簡單的來講wsgi就是,標準,
比如: 乙個德國人跟乙個法國人聊天,他們要想聊天可以通過乙個標準的國際語言: 英語來進行互動。
要注意 wsgi/uwsgi/uwsgi 這三個概念的區分。
wsgi是一種通訊協議
uwsgi同wsgi一樣是一種通訊協議
而uwsgi是實現了uwsgi和wsgi兩種協議的web伺服器。
為什麼uwsgi還需要nginx,應為nginx具備了優秀的靜態內容處理能力,然後將動態內容**給uwsgi伺服器,這樣就實現了,動靜分離。 也可以更好的達到客戶端的效果。
安裝nginx,wsgi
將專案資料夾傳輸到伺服器(比如根目錄下的home資料夾下)
scp -r 本機下專案的路徑 root@***.
***.**
*.***
:/home/ 例:scp -r /home/guagua/test.py [email protected]
.33.44
:/home/
file
傳輸完成後在專案主目錄下配置uwsgi
建立uwsgi.ini
vim uwsgi.ini (vi uwsgi.ini)
#以下為新增操作
[uwsgi]
socket=
0.0.0.0:
5000
# 可配置成別的埠
chdir=專案的路徑
wsgi-
file
=啟動檔案的路徑
callable
processes=
4threads=
10master=true
#virstualenv = python虛擬環境路徑 (如果沒有配置虛擬環境,則不用)
daemonize=
/data/log/專案名/uwsgi.log #指定uwsgi日誌儲存位置,沒有這個資料夾的話先進行建立
buffer
-size=
32768
配置nginx(nginx的配置檔案預設為/etc/nginx/nginx.conf)
在http裡面新增內容:
server
}可能會遇到的問題,找不到一些檔案或路徑,哪個找不到直接建立就行
啟動 nginx
service nginx start
service nginx status # 檢視nginx狀態,是否啟動
service nginx restart # 重啟nginx
ps -ef |grep nginx # 檢視已啟動nginx的程序號
kill -
9 nginx主程序號
如果啟動失敗,檢視nginx的日誌找到報錯原因,日誌在/var/log/nginx/error.log
tail -f error.log #檢視nginx日誌
啟動uwsgi進入專案下(uwsgi.ini所在的資料夾下)
uwsgi -d -
-ini uwsgi.ini # 啟動
啟動成功:[uwsgi] getting ini configuration from uwsgi.ini
ps -ef |grep uwsgi 檢視當前當前開啟的uwsgi程序
關閉方法與nginx類似
啟動失敗可檢視uwsgi日誌,日誌位置在配置檔案中我們自己配置的路徑 tail -f uwsgi
都啟動成功,訪問
curl +ip 執行
如果遇到問題,先檢視nginx是否啟動成功,如果沒成功,檢視日誌 cd /var/log/nginx/error.log
當nginx成功以後再去排uwsgi的錯誤,看看是不是flask專案的python環境沒對應上,或者是缺少某些模組 檢視uwsgi日誌 找到日誌檔案的目錄 tail -f uwsgi.log
常用命令
ps -aux|grep python3 檢視當前python程序
kill -
9 程序號 關閉當前程序號
將Django專案部署到nginx uwsgi上
首先利用wsgi協議,將專案部署到uwsgi上 1.uwsgi的安裝 pip install uwsgi2.uwsgi的配置專案部署時,需要把settings.py資料夾下的 debug false allowed hosts 在專案目錄下新建uwsgi.ini檔案 uwsgi 使用nginx連線時...
Flask專案結構
專案排版 首先建立專案目錄 mkdir flask tutorial cd flask tutorial接下來按照前一篇講過的安裝flask步驟進行安裝,並新建乙個虛擬環境。flask應用可以簡單到使用乙個單檔案,例如hello.py from flask import flask defhello...
flask專案安裝
flask誕生於2010年,是armin ronacher 人名 用 python 語言基於 werkzeug 工具箱編寫的輕量級web開發框架。flask 本身相當於乙個核心,其他幾乎所有的功能都要用到擴充套件 郵件擴充套件flask mail,使用者認證flask login,資料庫flask ...