django+uwsgi+nginx
nginx和uwsgi的區別和作用:
1, nginx是對外的伺服器,外部瀏覽器通過url訪問nginx, uwsgi是對內的伺服器,主要用來處理動態請求。
2, nginx接收到瀏覽器傳送過來的http請求,將包進行解析,分析url, a.如果是靜態檔案請求就直接訪問使用者給nginx配置的靜態檔案目錄,直接返回使用者請求的靜態檔案, b.如果不是靜態檔案,而是乙個動態的請求,那麼nginx就將請求**給uwsgi,
uwsgi接收到請求之後將包進行處理,處理成wsgi可以接受的格式,並發給wsgi,
wsgi根據請求呼叫應用程式的某個檔案,某個檔案的某個函式,最後處理完將
返回值再次交給wsgi,wsgi將返回值進行打包,打包成uwsgi能夠接收的格式,
uwsgi接收wsgi傳送的請求,並**給nginx,nginx最終將返回值返回給瀏覽器。
wsgi
wsgi是一種web伺服器閘道器介面。 是乙個web伺服器(如nginx)與應用伺服器(如uwsgi)通訊的一種規範(協議)。
uwsgi實現了wsgi的所有介面,是乙個快速、自我修復、開發人員和系統管理員友好的伺服器。uwsgi**完全用c編寫,效率高、效能穩定。
uwsgi是一種線路協議而不是通訊協議,在此常用於在uwsgi伺服器與其他網路伺服器的資料通訊。uwsgi協議是乙個uwsgi伺服器自有的協議,它用於定義傳輸資訊的型別。
作用django 是乙個 web 框架,框架的作用在於處理 request 和 reponse,其他的不是框架所關心的內容。所以怎麼部署 django 不是 django 所需要關心的。
django 所提供的是乙個開發伺服器,這個開發伺服器,沒有經過安全測試,而且使用的是 python 自帶的 ****** httpserver 建立的,在安全性和效率上都是不行的
而uwsgi 是乙個全功能的 http 伺服器,他要做的就是把 http 協議轉化成語言支援的網路協議。比如把 http 協議轉化成 wsgi 協議,讓 python 可以直接使用。
uwsgi 是一種 uwsgi 的內部協議,使用二進位制方式和其他應用程式進行通訊。
在這裡我用的是pip3 這看大家用的是那種pip3 根據實際情況使用
uwsgi --version
設定uwsig.ini 啟動
chadir :指定專案的目錄
module :可以這麼來理解,對於- myweb_uwsgi.ini檔案來說,與它的平級的有乙個partner目錄,這個目錄下有乙個wsgi.py檔案
master :允許主線程存在(true)
processes:開啟的程序數量(這裡是開啟4個程序)
vacuum :當伺服器退出的時候自動清理環境,刪除unix socket檔案和pid檔案
原文:到uwsgi.ini目錄下
執行 uwsgi --ini ./uwsgi.ini
Nginx基礎 Nginx陣列與鍊錶
ngx array t 實現檔案 src core ngx array.h src core ngx array.c 1.資料結構定義 typedef struct ngx array t 單純的從結構定義可以看出,陣列是與記憶體池繫結的,占用的空間由記憶體池分配 2.陣列操作 1.建立 ngx a...
centos7安裝nginx與nginx配置檔案
yum install gcc c nginx原始碼編譯需要 yum install y pcre pcre devel nginx 的 http 模組使用 pcre 來解析正規表示式yum install y zlib zlib devel nginx 使用zlib對http包的內容進行gzipy...
nginx安裝與配置
1 安裝前,需要安裝的軟體包 yum y install gcc gcc c autoconf automake yum y install zlib zlib devel openssl openssl devel pcre pcre devel 2 安裝nginx 3 啟動與停止nginx 啟動...