windows10 + putty
進入**目錄下
收集靜態檔案
python3 manage.py collectstatic
啟動django
python3 manage.py runserver 0.0.0.0:80
確保**可以使用
pip安裝uwsgi
pip3 install uwsgi
在專案根目錄新建資料夾uwsgi用於存放配置檔案等
[uwsgi]
# 專案根目錄,根據實際情況修改
chdir=/usr/www/test
# sock的檔案路徑,根據實際情況修改
socket=/usr/www/test/uwsgi/uwsgi.sock
# 程序個數
workers=5
# 程序檔案位置,根據實際情況修改
pidfile=/usr/www/test/uwsgi/uwsgi.pid
# 監聽http的ip及埠
# 靜態檔案目錄,根據實際情況修改
static-map=/static=/usr/www/test/static
# 啟動uwsgi的使用者名稱和使用者組
uid=root
gid=root
# 啟用主程序
master=true
# 當服務停止的時候自動移除unix sock和pid檔案
vacuum=true
# 序列化接受的內容,如果可能的話
thunder-lock=true
# 啟用多執行緒
enable-threads=true
# 設定自中斷時間
harakiri=30
# 設定緩衝
post-buffering=4096
# 設定日誌目錄,根據實際情況修改
daemonize=/usr/www/test/uwsgi/uwsgi.log
# 修改.py檔案時uwsgi自動重啟
py-autoreload=1
啟動uwsgi
uwsgi --ini /usr/www/test/uwsgi/uwsgi.ini
訪問admin介面,訪問成功,靜態檔案正常
yum安裝nginx
yum install -y nginx
在/etc/nginx/conf.d/中新建檔案test.conf
server
# 指定靜態檔案路徑
location /static/
}
這裡需要解釋一下,nginx把收到的動態請求都**給uwsgi所監聽的socket,由uwsgi處理,而靜態檔案由nginx處理。所以在nginx執行時uwsgi也必須執行。
由於剛才測試uwsgi的配置檔案也監聽了80埠,這將導致nginx無法啟動,所以需要修改uwsgi配置檔案,關閉http埠監聽及靜態檔案處理(因為靜態檔案的請求不會**給uwsgi)。
[uwsgi]
# 專案根目錄,根據實際情況修改
chdir=/usr/www/test
# sock的檔案路徑,根據實際情況修改
socket=/usr/www/test/uwsgi/uwsgi.sock
# 程序個數
workers=5
# 程序檔案位置,根據實際情況修改
pidfile=/usr/www/test/uwsgi/uwsgi.pid
# 啟動uwsgi的使用者名稱和使用者組
uid=root
gid=root
# 啟用主程序
master=true
# 當服務停止的時候自動移除unix sock和pid檔案
vacuum=true
# 序列化接受的內容,如果可能的話
thunder-lock=true
# 啟用多執行緒
enable-threads=true
# 設定自中斷時間
harakiri=30
# 設定緩衝
post-buffering=4096
# 設定日誌目錄,根據實際情況修改
daemonize=/usr/www/test/uwsgi/uwsgi.log
# 修改.py檔案時uwsgi自動重啟
py-autoreload=1
重新啟動uwsgi
killall -9 uwsgi
uwsgi --ini /usr/www/test/uwsgi/uwsgi.ini
啟動nginx
service nginx start
再次訪問admin介面,訪問成功,靜態檔案正常
檢視nginx日誌,找到剛才的訪問記錄,證明請求的確經由nginx處理
安裝uwsgi和使用uwsgi
部落格說明 安裝依賴apt get install build essential python dev安裝 uwsgi 使用python3的pip來安裝 pip3 install uwsgi建立配置檔案 建立類似配置檔案,uwsgi.ini uwsgi socket 127.0.0.1 3031 ...
nginx基於uwsgi部署django專案
1.安裝nginx yum install y nginx 需要epel源 2.安裝環境 可以考慮使用虛擬化環境,本處不再使用3.安裝uwsgi yum groupinstall development tools yum install zlib devel bzip2 devel pcre de...
nginx 基於uwsgi部署Django
1.安裝nginx yum install y nginx 需要epel源 2.安裝環境 可以考慮使用虛擬化環境,本處不再使用3.安裝uwsgi yum groupinstall development tools yum install zlib devel bzip2 devel pcre de...