下面是完整的 Windows 系統部署方案,使用 Waitress 作為 WSGI 服務器運行 Python 后端,Nginx 作為反向代理同時提供前端服務:
項目結構
text
復制
下載
myapp/ ├── backend/ # Python后端 │ ├── app.py # Flask應用入口 │ ├── requirements.txt # Python依賴 │ └── api/ # API模塊 ├── frontend/ # 前端文件 │ ├── index.html │ ├── css/ │ ├── js/ │ └── assets/ └── deploy/ # 部署相關文件├── nginx/ # Nginx配置│ ├── conf/│ │ └── nginx.conf│ └── html/├── start_backend.bat # 啟動后端腳本├── start_nginx.bat # 啟動Nginx腳本└── stop_all.bat # 停止服務腳本
部署步驟
1. 安裝必要軟件
powershell
復制
下載
# 安裝 Python (3.7+) https://www.python.org/downloads/windows/# 安裝 Nginx for Windows https://nginx.org/en/download.html
2. 配置 Python 后端
backend/app.py
python
復制
下載
from flask import Flask, jsonify, send_from_directory import osapp = Flask(__name__)# 提供API服務 @app.route('/api/data') def get_data():return jsonify({"message": "Hello from Python backend!", "status": "success"})# 開發環境提供前端服務(生產環境由Nginx處理) @app.route('/') def serve_frontend():if os.path.exists('../frontend/index.html'):return send_from_directory('../frontend', 'index.html')return "Frontend files not found", 404@app.route('/<path:path>') def serve_static(path):return send_from_directory('../frontend', path)if __name__ == '__main__':app.run(debug=False)
backend/requirements.txt
text
復制
下載
flask waitress python-dotenv
3. 創建部署腳本
deploy/start_backend.bat
batch
復制
下載
@echo off REM 進入后端目錄 cd /d %~dp0..\backendREM 創建虛擬環境(首次運行) if not exist venv (python -m venv venv )REM 激活虛擬環境 call venv\Scripts\