下面是完整的 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\