Ctrl K
NavHub

安装方式二: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
后端步骤 相同 相同
正文由 MySQL 存储,在后台以 HTML 编辑。顶栏快捷链接由各页面的「显示在顶栏」选项控制。