寶塔(BT面板)部署Python項目圖形化完整步驟
適用于:Linux 服務器(Ubuntu/CentOS 等)+ 寶塔面板(Linux 版)。全程 GUI 操作為主, FastAPI 可復制配置。
一、準備工作
- 一臺云服務器(推薦:Ubuntu 20.04/22.04 或 CentOS 7/8)。
- 放通安全組端口:
22(SSH)、8888(面板首次登錄口)、80/443(網(wǎng)站)。 - 有域名并完成解析(可選,用于 HTTPS)。
二、安裝寶塔面板(一次性命令)
這一步需 SSH 進入服務器;安裝成功后其余基本用 GUI。若下述命令失效,請到寶塔官網(wǎng)下載最新腳本。
# Ubuntu/Debian 常見 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh # CentOS 常見 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安裝完成后終端會顯示:面板地址(如 http://你的IP:8888)、初始賬號/密碼或初始化向?qū)?。?8888 訪問不到,檢查云安全組與系統(tǒng)防火墻。
查看寶塔面板信息命令
bt default
運行后會顯示類似如下信息:
外網(wǎng)面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxx
內(nèi)網(wǎng)面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxx
username: xxxxxxxx
password: xxxxxxxx
三、首次進入寶塔面板(GUI)
- 瀏覽器打開
http://你的IP:8888 - 設置面板賬號與密碼。建議:
- 修改默認端口(面板設置里)
- 開啟二次驗證與登錄提醒
- 進入軟件商店安裝常用組件:
- Nginx
- Python 項目管理器 / Python 管理
- (按需)MySQL、Redis
- (站點里內(nèi)置)Let’s Encrypt 證書
四、創(chuàng)建 Python 運行環(huán)境(GUI)
- 打開軟件商店 → Python 管理,安裝所需 Python 版本(如 3.8/3.10/3.11)。
- 打開Python 項目管理器,點擊創(chuàng)建虛擬環(huán)境,選擇上面安裝的 Python 版本,命名如
venv-fastapi。
五、上傳或獲取項目代碼(GUI)
- 方式一(上傳壓縮包):面板 文件 → 上傳 → 解壓到
/www/wwwroot/your_project - 方式二(Git 拉取):在面板終端或 Git 插件中執(zhí)行
git clone到上述目錄
建議目錄(FastAPI 示例):
/www/wwwroot/your_project ├─ app/ │ └─ main.py # 入口(app = FastAPI()) ├─ requirements.txt └─ .env # 可選,存放環(huán)境變量
六、安裝依賴(GUI)
進入 Python 項目管理器 → 虛擬環(huán)境 → 選擇 venv,點擊安裝依賴,選擇項目 requirements.txt。
國內(nèi)環(huán)境可改為國內(nèi) PyPI 源以加速。
七、用“Python 項目管理器”創(chuàng)建運行項目
- 新增項目,填寫:
- 項目名稱:
fastapi-demo(示例) - 項目路徑:
/www/wwwroot/your_project - 運行用戶:
www - 虛擬環(huán)境:選擇你的 venv(如
venv-fastapi) - 啟動方式:ASGI(FastAPI/Starlette)或 WSGI(Flask/Django)
- 啟動命令:見附錄(不同框架不同)
- 開機自啟:勾選
- 項目名稱:
- 點擊保存并啟動,應看到“運行中”。失敗請查看項目日志。
八、用 Nginx 反向代理到外網(wǎng)域名(含 SSL)
- 網(wǎng)站 → 添加站點:
- 域名:
yourdomain.com - 網(wǎng)站目錄:任意(若僅反代,可為空目錄)
- 域名:
- 進入站點設置 → 反向代理:
- 目標 URL:
http://127.0.0.1:8000 - 勾選啟用反向代理
- 目標 URL:
- 站點 → SSL:
- 選擇 Let’s Encrypt,驗證域名并簽發(fā)
- 開啟強制 HTTPS
此時訪問 https://yourdomain.com 即轉(zhuǎn)發(fā)到后端服務。
九、靜態(tài)文件與跨域(可選)
靜態(tài)文件(Nginx):
location /static/ {
alias /www/wwwroot/your_project/app/static/;
expires 30d;
access_log off;
}
跨域(后端或 Nginx):FastAPI 可用 CORS 中間件;或在 Nginx 添加響應頭按需處理。
十、環(huán)境變量與密鑰(可選)
- 在“項目 → 啟動命令”前添加:
export ENV=prod SECRET_KEY='your-secret' && gunicorn ...
- 或放
.env,配合python-dotenv讀取。
十一、日志監(jiān)控與開機自啟
- Python 項目管理器 → 日志 查看啟動/錯誤日志。
- 運行狀態(tài)觀察資源使用。
- 勾選開機自啟即可隨系統(tǒng)啟動。
十二、數(shù)據(jù)庫與 Redis(可選)
- 在軟件商店安裝 MySQL/Redis。
- 數(shù)據(jù)庫菜單新建庫與用戶,將連接信息配置進項目。
十三、常見問題速查
- 面板打不開:檢查 8888 端口、云安全組與系統(tǒng)防火墻。
- 項目啟動失敗/502:確認虛擬環(huán)境與依賴、啟動命令模塊路徑是否正確,查看項目日志。
- 超時/504:業(yè)務阻塞或 worker 較少,適當提高
--workers、檢查數(shù)據(jù)庫/外部依賴。 - 依賴安裝失敗:切換國內(nèi)源;有的庫需系統(tǒng)依賴(如
build-essential、python3-dev、libmysqlclient-dev)。 - HTTPS 失敗:確保域名解析到當前服務器,
80/443放通且未被占用。
附錄 A:FastAPI 可復制配置
假設:Python 3.8.19、項目在
/www/wwwroot/your_project。
目錄與示例代碼
/www/wwwroot/your_project ├─ app/ │ └─ main.py ├─ requirements.txt └─ .env (可選)
app/main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello():
return {"msg": "Hello from FastAPI on Baota!"}
requirements.txt
fastapi uvicorn gunicorn python-dotenv
Python 項目管理器表單
- 項目名稱:
fastapi-demo - 項目路徑:
/www/wwwroot/your_project - 運行用戶:
www - 虛擬環(huán)境:選擇已創(chuàng)建的 venv(基于 Python 3.8.19)
- 啟動方式:ASGI / 自定義命令
- 啟動命令:
gunicorn -k uvicorn.workers.UvicornWorker app.main:app -b 127.0.0.1:8000 --workers 2 --timeout 60
- 開機自啟:勾選
Nginx 反代(站點 → 反向代理)
- 目標 URL:
http://127.0.0.1:8000 - 啟用反向代理:勾選
(SSL 在站點 → SSL 里申請并開啟“強制 HTTPS”)
靜態(tài)(可選)
location /static/ {
alias /www/wwwroot/your_project/app/static/;
expires 30d;
access_log off;
}
總結(jié)
到此這篇關于寶塔(BT面板)部署Python項目的文章就介紹到這了,更多相關寶塔部署Python項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇,需要的朋友可以參考下2020-02-02
TensorFlow平臺下Python實現(xiàn)神經(jīng)網(wǎng)絡
這篇文章主要為大家詳細介紹了TensorFlow平臺下Python實現(xiàn)神經(jīng)網(wǎng)絡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03

