安装方式二:Python + MySQL + 已打包的 dist
适合不提供 Node.js 构建环境的服务器:直接使用仓库中或 CI 产出的 frontend/dist 静态文件。
环境要求
| 组件 | 说明 |
|---|---|
| MySQL | 同方式一 |
| Python | 建议 3.10+,仅运行后端 |
| Node.js | 不需要(不在服务器上构建前端) |
1. 准备前端静态文件
在有 Node 的环境(本机或 CI)执行:
cd frontend
npm install
npm run build
将生成的 frontend/dist 整个目录上传到服务器任意路径(例如 /var/www/navhub/dist)。
若你使用的是本仓库已附带的 dist,可直接部署该目录(注意版本是否与当前后端匹配)。
2. 部署后端
与方式一相同:在 backend 安装依赖并启动(run.py 开发或 start.sh 生产)。确保 /health 可访问。
3. Web 服务器配置
- 静态根目录指向
dist。 /api反向代理到后端(如http://127.0.0.1:8520)。- SPA:所有非文件请求回退到
index.html。
示例(Nginx 思路):
server {
root /var/www/navhub/dist;
location /api/ {
proxy_pass http://127.0.0.1:8520;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
try_files $uri $uri/ /index.html;
}
}
4. 首次安装
浏览器访问你配置的站点域名或 IP(指向上述静态站点),打开安装向导,配置 MySQL 与管理员即可。
方式一与方式二的区别
| 项目 | 方式一 | 方式二 |
|---|---|---|
| 服务器是否需要 Node | 开发/构建时需要 | 不需要 |
| 前端更新 | 服务器上或本地 build 后替换 dist |
仅替换 dist |
| 后端步骤 | 相同 | 相同 |