Skip to content

Nginx 统一配置快速部署指南 ​

🚀 一键部署(推荐) ​

bash
# 1. 进入配置目录
cd w:/ruoyi-office/ruoyi-office-vben/apps/web-antd/nginx

# 2. 执行自动化部署脚本
chmod +x deploy-nginx-config.sh
./deploy-nginx-config.sh

部署脚本会自动完成:

  • ✅ 备份现有配置
  • ✅ 上传新配置
  • ✅ 删除旧配置
  • ✅ 验证配置语法
  • ✅ 重新加载 Nginx
  • ✅ 验证部署结果

📋 快速检查清单 ​

部署前检查 ​

  • [ ] 已部署 VitePress 文档到 /usr/share/nginx/html/ruoyi-office-doc
  • [ ] 已部署 Vben Admin 到 /usr/share/nginx/html/web
  • [ ] 可以 SSH 登录到 127.0.0.1
  • [ ] Nginx 容器正常运行

部署后验证 ​

bash
# 1. 测试文档站点
curl -I http://127.0.0.1/
# 期望: HTTP/1.1 200 OK

# 2. 测试管理后台
curl -I http://127.0.0.1/web
# 期望: HTTP/1.1 200 OK

# 3. 测试健康检查
curl http://127.0.0.1/health
# 期望: healthy

# 4. 在浏览器中访问
# - http://127.0.0.1/       → VitePress 文档
# - http://127.0.0.1/web    → Vben Admin

📂 配置文件说明 ​

使用中的配置 ​

/data/nginx/conf/conf.d/
└── ruoyi-office.conf          # 统一配置文件(使用中)

已删除的旧配置 ​

/data/nginx/conf/conf.d/backup-YYYYMMDD-HHMMSS/
├── default.conf               # 原始默认配置
├── ruoyi-office-doc.conf      # VitePress 旧配置
└── web-antd.conf              # Vben 旧配置(有语法错误)

🌐 访问地址 ​

项目访问地址物理路径
VitePress 文档http://127.0.0.1//usr/share/nginx/html/ruoyi-office-doc
Vben Admin 管理后台http://127.0.0.1/web/usr/share/nginx/html/web
健康检查http://127.0.0.1/healthN/A

⚡ 常用命令 ​

查看配置 ​

bash
# 查看当前配置
ssh root@127.0.0.1 'cat /data/nginx/conf/conf.d/ruoyi-office.conf'

# 查看配置文件列表
ssh root@127.0.0.1 'ls -lh /data/nginx/conf/conf.d/'

验证配置 ​

bash
# 测试配置语法
ssh root@127.0.0.1 'docker exec nginx nginx -t'

# 重新加载配置
ssh root@127.0.0.1 'docker exec nginx nginx -s reload'

查看日志 ​

bash
# 查看访问日志
ssh root@127.0.0.1 'docker exec nginx tail -f /var/log/nginx/ruoyi-office-access.log'

# 查看错误日志
ssh root@127.0.0.1 'docker exec nginx tail -f /var/log/nginx/ruoyi-office-error.log'

# 查看 Nginx 容器日志
ssh root@127.0.0.1 'docker logs -f nginx'

🔙 回滚配置 ​

如果部署后出现问题,可以快速回滚:

bash
# 1. 找到备份目录
ssh root@127.0.0.1 'ls -lt /data/nginx/conf/conf.d/ | grep backup'

# 2. 回滚到指定备份(替换时间戳)
ssh root@127.0.0.1 << 'EOF'
BACKUP_DIR="/data/nginx/conf/conf.d/backup-20260121-153000"
rm -f /data/nginx/conf/conf.d/ruoyi-office.conf
cp ${BACKUP_DIR}/*.conf /data/nginx/conf/conf.d/
docker exec nginx nginx -t && docker exec nginx nginx -s reload
echo "✓ 回滚完成"
EOF

🛠️ 故障排查 ​

问题1: 配置语法错误 ​

症状: nginx -t 失败

解决:

bash
# 查看错误详情
ssh root@127.0.0.1 'docker exec nginx nginx -t'

# 检查配置文件内容
ssh root@127.0.0.1 'cat /data/nginx/conf/conf.d/ruoyi-office.conf'

问题2: 页面 404 ​

症状: 访问 http://127.0.0.1/web 返回 404

解决:

bash
# 1. 检查文件是否存在
ssh root@127.0.0.1 'ls -lh /usr/share/nginx/html/web/'

# 2. 检查文件权限
ssh root@127.0.0.1 'ls -la /usr/share/nginx/html/web/'

# 3. 检查 Nginx 错误日志
ssh root@127.0.0.1 'docker exec nginx tail -100 /var/log/nginx/ruoyi-office-error.log'

问题3: 静态资源 404 ​

症状: 页面打开但 CSS/JS 加载失败

可能原因:

  • Vite 构建时的 base 配置不正确
  • Nginx alias 配置错误

解决:

bash
# 1. 检查 vite.config.mts 中的 base 配置
# 应该是: base: process.env.NODE_ENV === 'production' ? '/web/' : '/'

# 2. 检查 Nginx location /web 配置
ssh root@127.0.0.1 'grep -A 10 "location /web" /data/nginx/conf/conf.d/ruoyi-office.conf'

# 3. 查看访问日志,确认请求路径
ssh root@127.0.0.1 'docker exec nginx tail -100 /var/log/nginx/ruoyi-office-access.log | grep 404'

问题4: Gzip 压缩未生效 ​

验证方法:

bash
# 检查响应头
curl -I -H "Accept-Encoding: gzip" http://127.0.0.1/web

# 应该包含: Content-Encoding: gzip

解决: 检查 Nginx 配置中的 gzip 指令

📖 相关文档 ​

✅ 成功标志 ​

部署成功后,应该能够:

  1. ✅ 访问 http://127.0.0.1/ 看到 VitePress 文档
  2. ✅ 访问 http://127.0.0.1/web 看到 Vben Admin 登录页面
  3. ✅ 页面样式和静态资源加载正常
  4. ✅ SPA 路由跳转正常
  5. ✅ /health 接口返回 healthy
  6. ✅ 浏览器开发者工具显示 Gzip 压缩已启用
  7. ✅ 静态资源缓存策略生效(查看响应头)

💡 最佳实践 ​

  1. 定期备份配置: 每次修改前都备份
  2. 测试后再部署: 使用 nginx -t 验证配置
  3. 监控日志: 定期查看错误日志
  4. 文档同步: 配置变更后更新文档
  5. 回滚准备: 保留至少 3 个历史备份

🆘 需要帮助? ​

如果遇到问题:

  1. 查看 故障排查 部分
  2. 检查 Nginx 错误日志
  3. 查看 Jenkins 构建日志
  4. 参考 完整部署文档
联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版