Django+python項目管理器+寶塔面板部署

介紹django應用如何藉助寶塔面板下的插件pythonmanager和nginx完成部署,部署中使用的pythonmanager模式爲uwsgi模式

預備工作

  1. 保證django應用能在本地部署運行且靜態文件訪問正常
  2. 保證對應的端口開啓並且未被佔用,文中可能會使用到8001,8002
  3. 寶塔面板,nginx以及pythonmanager已安裝

一、上傳項目

通過BT面板或者xshell等工具上傳項目文件夾

這裏使用xftp進行上傳,上傳對應的服務器路徑爲/www/wwwroot/{項目名}

二、pythonmanager下的部署

登陸寶塔面板,在首頁點擊python項目管理器圖標,添加新的項目

路徑爲{基路徑}/{項目名},python版本自己選擇,啓動文件夾爲{基路徑}/{項目名}/{項目的主項目}主項目下包含有wsgi.py文件,端口暫時爲8002,後面添加nginx後會修改端口,如果沒有requirement.txt文件的話不用勾選安裝模塊依賴

確認項目已啓動

通過{ip}:8002進行訪問,不出意外的話,會出現503錯誤,如果沒有出現錯誤就直接下一步

如果當前項目的狀態爲運行中,先暫停這個項目,在點擊配置,修改配置文件。每一次修改配置文件都需要先關閉python管理器中的項目

[uwsgi]
http = 0.0.0.0:8002
chdir=/www/wwwroot/test_bt/
module = test_bt.wsgi:application
master = true
processes=2
threads=2
max-requests=2000
chmod-socket=664
vacuum=true
daemonize = /www/wwwroot/test_bt/test_bt/uwsgi.log
# 用於查看項目啓動日誌

再次啓動,如果依然有錯誤,使用 cat /www/wwwroot/test_bt/test_bt/uwsgi.log查看錯誤日誌,若缺少依賴,在模塊管理中安裝

此時打開發現靜態文件沒有成功的加載,因爲我們並沒有在uwsgi中配置靜態文件路徑,我們會在下一步的nginx中進行配置

三、Nginx配置靜態文件

打開寶塔面板的nginx,點擊添加網站,我這邊沒有申請域名直接使用{ip}:{8001},這裏是8001不是第二步的8002,8001會留給uwsgi作爲和nginx進行socket通信的端口,這裏意味着下次你訪問這個應用的方式就是{ip}:{8001}/index.html

重新打開網站的nginx配置頁面,在localtion ~ .*\.(js|css)?$下面,添加兩行靜態配置和uwsgi配置,這裏截圖中的路徑和之前使用的路徑不一致,因爲我的這個服務器已經部署了一個nginx服務,nginx好像沒法部署兩個同域名的服務

配置文件爲:

location /static {
alias /www/wwwroot/test_bt/static;
}
location / {
include /www/server/nginx/conf/uwsgi_params;
uwsgi_pass 127.0.0.1:8002;
}

這一步可能出現錯誤在nginx找不到對應的uwsgi_params,如果出現nginx出現inner error的話請查看nginx的access_log和error_log。nginx的配置文件就修改完成了,最後一步就是將uwsgi.ini配置文件中的http = 0.0.0.0:8002修改爲socket = :8002

重啓python項目管理器裏的項目,不出意外的話靜態文件也能加載了,大功告成

寫在最後

  1. 這裏還有一個爲解決的問題時python項目管理器1.5版本中的項目開機其自動是不可用的,如果需要使用的話,看我另外一篇博客
  2. 如果依然有錯誤出現,請查看uwsgi啓動日誌,nginx的access_logerror_log以及django項目下的日誌文件
  3. 有其他問題的話 也可以在評論中詢問
  4. 測試項目的gitee地址 test_bt
  5. 如果覺得這篇文章對你有幫助的話,請點贊,收藏哦
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章