Skip to content

3-5-1、Hermes生成的部署手册 ​

YAML
# WEB文件管理系统 - 生产环境部署文档

## 环境信息

- 前端框架:Vue 3 + Vite
- 后端框架:Spring Boot 3 + JDK 21
- 项目路径:`/home/agentuser/.hermes/profiles/flash/home/web-file-manager`
- 访问地址:http://x.x.x.x:5273

---

## 部署步骤

### Step 1 - 安装 Nginx

```bash
sudo apt update && sudo apt install nginx -y

验证安装:

bash
nginx -v
sudo systemctl status nginx

Step 2 - 构建前端静态文件 ​

bash
cd /home/agentuser/.hermes/profiles/flash/home/web-file-manager/frontend
npm run build

构建产物在 dist/ 目录。


Step 3 - 配置 Nginx 反向代理 ​

3.1 拷贝静态文件到 www 目录(解决权限问题) ​

bash
sudo mkdir -p /var/www/web-file-manager
sudo cp -r /home/agentuser/.hermes/profiles/flash/home/web-file-manager/frontend/dist/* /var/www/web-file-manager/
sudo chown -R www-data:www-data /var/www/web-file-manager

3.2 创建 Nginx 配置文件 ​

bash
sudo tee /etc/nginx/sites-available/web-file-manager > /dev/null << 'EOF'
server {
    listen 80;
    listen [::]:80;

    server_name _;

    root /var/www/web-file-manager;
    index index.html;

    # Gzip 压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
    gzip_min_length 1000;

    # 静态文件
    location / {
        try_files $uri $uri/ /index.html;
    }

    # Assets 静态资源(长期缓存)
    location /assets/ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    # API 反向代理到后端
    location /api/ {
        proxy_pass http://127.0.0.1:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 文件上传大小限制
    client_max_body_size 500M;
}
EOF

3.3 启用站点并重启 Nginx ​

bash
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/web-file-manager /etc/nginx/sites-enabled/
sudo nginx -t
sudo nginx -s reload

Step 4 - 启动后端服务并配置 systemd 开机自启 ​

4.1 打包后端 JAR ​

bash
cd /home/agentuser/.hermes/profiles/flash/home/web-file-manager/backend
mvn package -DskipTests

4.2 创建 systemd 服务文件 ​

bash
sudo tee /etc/systemd/system/web-file-manager.service > /dev/null << 'EOF'
[Unit]
Description=WEB File Manager Backend
After=network.target

[Service]
Type=simple
User=agentuser
WorkingDirectory=/home/agentuser/.hermes/profiles/flash/home/web-file-manager/backend
ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /home/agentuser/.hermes/profiles/flash/home/web-file-manager/backend/target/web-file-manager-1.0.0.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

4.3 启动服务并设置开机自启 ​

bash
sudo systemctl daemon-reload
sudo systemctl enable web-file-manager
sudo systemctl start web-file-manager

常用管理命令 ​

bash
# 查看服务状态
sudo systemctl status web-file-manager

# 重启服务
sudo systemctl restart web-file-manager

# 停止服务
sudo systemctl stop web-file-manager

# 查看 Nginx 状态
sudo systemctl status nginx

# 重载 Nginx 配置
sudo nginx -s reload

# 查看 Nginx 错误日志
sudo tail -20 /var/log/nginx/error.log

# 查看后端日志
sudo journalctl -u web-file-manager -f

重新部署流程 ​

bash
# 1. 更新前端代码后重新构建
cd /home/agentuser/.hermes/profiles/flash/home/web-file-manager/frontend
npm run build
sudo cp -r dist/* /var/www/web-file-manager/

# 2. 更新后端代码后重新打包
cd /home/agentuser/.hermes/profiles/flash/home/web-file-manager/backend
mvn package -DskipTests
sudo systemctl restart web-file-manager

注意事项 ​

  1. 权限问题:Nginx 以 www-data 用户运行,静态文件不要放在 ~/ 目录下,务必放到 /var/www/
  2. 安全组:云服务器需开放 80 端口(腾讯云 CVM → 安全组 → 入站规则)
  3. HTTPS:生产环境建议配置 SSL 证书(Let's Encrypt 免费)
  4. 账号密码:默认 admin/<your-password>,正式部署前请修改默认密码

Released under the MIT License.