寶塔(BT面板)部署Python項(xiàng)目圖形化完整步驟
適用于:Linux 服務(wù)器(Ubuntu/CentOS 等)+ 寶塔面板(Linux 版)。全程 GUI 操作為主, FastAPI 可復(fù)制配置。
一、準(zhǔn)備工作
- 一臺(tái)云服務(wù)器(推薦:Ubuntu 20.04/22.04 或 CentOS 7/8)。
- 放通安全組端口:
22(SSH)、8888(面板首次登錄口)、80/443(網(wǎng)站)。 - 有域名并完成解析(可選,用于 HTTPS)。
二、安裝寶塔面板(一次性命令)
這一步需 SSH 進(jìn)入服務(wù)器;安裝成功后其余基本用 GUI。若下述命令失效,請(qǐng)到寶塔官網(wǎng)下載最新腳本。
# Ubuntu/Debian 常見(jiàn) wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh # CentOS 常見(jiàn) yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安裝完成后終端會(huì)顯示:面板地址(如 http://你的IP:8888)、初始賬號(hào)/密碼或初始化向?qū)?。?8888 訪問(wèn)不到,檢查云安全組與系統(tǒng)防火墻。
查看寶塔面板信息命令
bt default
運(yùn)行后會(huì)顯示類(lèi)似如下信息:
外網(wǎng)面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxx
內(nèi)網(wǎng)面板地址: http://xxx.xxx.xxx.xxx:8888/xxxxxx
username: xxxxxxxx
password: xxxxxxxx
三、首次進(jìn)入寶塔面板(GUI)
- 瀏覽器打開(kāi)
http://你的IP:8888 - 設(shè)置面板賬號(hào)與密碼。建議:
- 修改默認(rèn)端口(面板設(shè)置里)
- 開(kāi)啟二次驗(yàn)證與登錄提醒
- 進(jìn)入軟件商店安裝常用組件:
- Nginx
- Python 項(xiàng)目管理器 / Python 管理
- (按需)MySQL、Redis
- (站點(diǎn)里內(nèi)置)Let’s Encrypt 證書(shū)
四、創(chuàng)建 Python 運(yùn)行環(huán)境(GUI)
- 打開(kāi)軟件商店 → Python 管理,安裝所需 Python 版本(如 3.8/3.10/3.11)。
- 打開(kāi)Python 項(xiàng)目管理器,點(diǎn)擊創(chuàng)建虛擬環(huán)境,選擇上面安裝的 Python 版本,命名如
venv-fastapi。
五、上傳或獲取項(xiàng)目代碼(GUI)
- 方式一(上傳壓縮包):面板 文件 → 上傳 → 解壓到
/www/wwwroot/your_project - 方式二(Git 拉?。?/strong>:在面板終端或 Git 插件中執(zhí)行
git clone到上述目錄
建議目錄(FastAPI 示例):
/www/wwwroot/your_project ├─ app/ │ └─ main.py # 入口(app = FastAPI()) ├─ requirements.txt └─ .env # 可選,存放環(huán)境變量
六、安裝依賴(lài)(GUI)
進(jìn)入 Python 項(xiàng)目管理器 → 虛擬環(huán)境 → 選擇 venv,點(diǎn)擊安裝依賴(lài),選擇項(xiàng)目 requirements.txt。
國(guó)內(nèi)環(huán)境可改為國(guó)內(nèi) PyPI 源以加速。
七、用“Python 項(xiàng)目管理器”創(chuàng)建運(yùn)行項(xiàng)目
- 新增項(xiàng)目,填寫(xiě):
- 項(xiàng)目名稱(chēng):
fastapi-demo(示例) - 項(xiàng)目路徑:
/www/wwwroot/your_project - 運(yùn)行用戶(hù):
www - 虛擬環(huán)境:選擇你的 venv(如
venv-fastapi) - 啟動(dòng)方式:ASGI(FastAPI/Starlette)或 WSGI(Flask/Django)
- 啟動(dòng)命令:見(jiàn)附錄(不同框架不同)
- 開(kāi)機(jī)自啟:勾選
- 項(xiàng)目名稱(chēng):
- 點(diǎn)擊保存并啟動(dòng),應(yīng)看到“運(yùn)行中”。失敗請(qǐng)查看項(xiàng)目日志。
八、用 Nginx 反向代理到外網(wǎng)域名(含 SSL)
- 網(wǎng)站 → 添加站點(diǎn):
- 域名:
yourdomain.com - 網(wǎng)站目錄:任意(若僅反代,可為空目錄)
- 域名:
- 進(jìn)入站點(diǎn)設(shè)置 → 反向代理:
- 目標(biāo) URL:
http://127.0.0.1:8000 - 勾選啟用反向代理
- 目標(biāo) URL:
- 站點(diǎn) → SSL:
- 選擇 Let’s Encrypt,驗(yàn)證域名并簽發(fā)
- 開(kāi)啟強(qiáng)制 HTTPS
此時(shí)訪問(wèn) https://yourdomain.com 即轉(zhuǎn)發(fā)到后端服務(wù)。
九、靜態(tài)文件與跨域(可選)
靜態(tài)文件(Nginx):
location /static/ {
alias /www/wwwroot/your_project/app/static/;
expires 30d;
access_log off;
}
跨域(后端或 Nginx):FastAPI 可用 CORS 中間件;或在 Nginx 添加響應(yīng)頭按需處理。
十、環(huán)境變量與密鑰(可選)
- 在“項(xiàng)目 → 啟動(dòng)命令”前添加:
export ENV=prod SECRET_KEY='your-secret' && gunicorn ...
- 或放
.env,配合python-dotenv讀取。
十一、日志監(jiān)控與開(kāi)機(jī)自啟
- Python 項(xiàng)目管理器 → 日志 查看啟動(dòng)/錯(cuò)誤日志。
- 運(yùn)行狀態(tài)觀察資源使用。
- 勾選開(kāi)機(jī)自啟即可隨系統(tǒng)啟動(dòng)。
十二、數(shù)據(jù)庫(kù)與 Redis(可選)
- 在軟件商店安裝 MySQL/Redis。
- 數(shù)據(jù)庫(kù)菜單新建庫(kù)與用戶(hù),將連接信息配置進(jìn)項(xiàng)目。
十三、常見(jiàn)問(wèn)題速查
- 面板打不開(kāi):檢查 8888 端口、云安全組與系統(tǒng)防火墻。
- 項(xiàng)目啟動(dòng)失敗/502:確認(rèn)虛擬環(huán)境與依賴(lài)、啟動(dòng)命令模塊路徑是否正確,查看項(xiàng)目日志。
- 超時(shí)/504:業(yè)務(wù)阻塞或 worker 較少,適當(dāng)提高
--workers、檢查數(shù)據(jù)庫(kù)/外部依賴(lài)。 - 依賴(lài)安裝失敗:切換國(guó)內(nèi)源;有的庫(kù)需系統(tǒng)依賴(lài)(如
build-essential、python3-dev、libmysqlclient-dev)。 - HTTPS 失敗:確保域名解析到當(dāng)前服務(wù)器,
80/443放通且未被占用。
附錄 A:FastAPI 可復(fù)制配置
假設(shè):Python 3.8.19、項(xiàng)目在
/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 項(xiàng)目管理器表單
- 項(xiàng)目名稱(chēng):
fastapi-demo - 項(xiàng)目路徑:
/www/wwwroot/your_project - 運(yùn)行用戶(hù):
www - 虛擬環(huán)境:選擇已創(chuàng)建的 venv(基于 Python 3.8.19)
- 啟動(dòng)方式:ASGI / 自定義命令
- 啟動(dòng)命令:
gunicorn -k uvicorn.workers.UvicornWorker app.main:app -b 127.0.0.1:8000 --workers 2 --timeout 60
- 開(kāi)機(jī)自啟:勾選
Nginx 反代(站點(diǎn) → 反向代理)
- 目標(biāo) URL:
http://127.0.0.1:8000 - 啟用反向代理:勾選
(SSL 在站點(diǎn) → SSL 里申請(qǐng)并開(kāi)啟“強(qiáng)制 HTTPS”)
靜態(tài)(可選)
location /static/ {
alias /www/wwwroot/your_project/app/static/;
expires 30d;
access_log off;
}
總結(jié)
到此這篇關(guān)于寶塔(BT面板)部署Python項(xiàng)目的文章就介紹到這了,更多相關(guān)寶塔部署Python項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)
這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
python調(diào)用C/C++動(dòng)態(tài)庫(kù)的實(shí)踐案例
python是動(dòng)態(tài)語(yǔ)言,c++是靜態(tài)語(yǔ)言,下面這篇文章主要介紹了python調(diào)用C/C++動(dòng)態(tài)庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
基于python select.select模塊通信的實(shí)例講解
下面小編就為大家?guī)?lái)一篇基于python select.select模塊通信的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
python opencv實(shí)現(xiàn)gif圖片分解的示例代碼
這篇文章主要介紹了python opencv實(shí)現(xiàn)gif圖片分解的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Python3顯示當(dāng)前時(shí)間、計(jì)算時(shí)間差及時(shí)間加減法示例代碼
這篇文章主要給大家介紹了關(guān)于Python3顯示當(dāng)前時(shí)間、計(jì)算時(shí)間差及時(shí)間加減法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Jupyter Notebook/VSCode導(dǎo)出PDF中文不顯示的解決
這篇文章主要介紹了Jupyter Notebook/VSCode導(dǎo)出PDF中文不顯示的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
OpenCV基礎(chǔ)HSV顏色空間*args與**kwargs滑動(dòng)條傳參問(wèn)題
這篇文章主要介紹了OpenCV基礎(chǔ)中HSV顏色空間*args與**kwargs滑動(dòng)條傳參問(wèn)題的詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
python爬蟲(chóng)之請(qǐng)求模塊urllib的基本使用
urllib是python內(nèi)置的HTTP請(qǐng)求庫(kù),是一個(gè)用來(lái)處理網(wǎng)絡(luò)請(qǐng)求的python標(biāo)準(zhǔn)庫(kù),下面這篇文章主要給大家介紹了關(guān)于python爬蟲(chóng)之請(qǐng)求模塊urllib的基本使用,需要的朋友可以參考下2022-04-04

