# 保险系统部署指南 ## 部署架构 ``` 用户访问: https://ad.ningmuyun.com/insurance/ ↓ nginx (443端口) ↓ 前端静态文件: /var/www/insurance-admin-system/dist/ ↓ API请求: /insurance/api/* → 代理到后端 3000端口 ``` ## 部署步骤 ### 1. 服务器准备 ```bash # 安装必要软件 sudo apt update sudo apt install nginx nodejs npm pm2 -y # 创建项目目录 sudo mkdir -p /var/www/insurance-admin-system sudo mkdir -p /var/www/insurance-backend ``` ### 2. 部署前端 ```bash # 上传前端构建文件到服务器 scp -r insurance_admin-system/dist/* user@49.51.70.206:/var/www/insurance-admin-system/ # 设置权限 sudo chown -R www-data:www-data /var/www/insurance-admin-system sudo chmod -R 755 /var/www/insurance-admin-system ``` ### 3. 部署后端 ```bash # 上传后端代码到服务器 scp -r insurance_backend/* user@49.51.70.206:/var/www/insurance-backend/ # 安装依赖 cd /var/www/insurance-backend npm install --production # 创建环境变量文件 cp .env.example .env # 编辑 .env 文件,设置正确的数据库连接信息 ``` ### 4. 配置nginx ```bash # 复制nginx配置 sudo cp /var/www/insurance-backend/nginx-ad.ningmuyun.com.conf /etc/nginx/sites-available/ad.ningmuyun.com # 启用站点 sudo ln -sf /etc/nginx/sites-available/ad.ningmuyun.com /etc/nginx/sites-enabled/ # 测试配置 sudo nginx -t # 重启nginx sudo systemctl restart nginx ``` ### 5. 启动后端服务 ```bash cd /var/www/insurance-backend # 给脚本执行权限 chmod +x start.sh deploy.sh # 启动服务 ./start.sh ``` ## 配置说明 ### 前端配置 - **baseURL**: `/insurance/api` - **访问地址**: `https://ad.ningmuyun.com/insurance/` ### 后端配置 - **端口**: 3000 - **进程管理**: PM2 - **环境**: production ### nginx配置 - **SSL端口**: 443 - **前端路径**: `/insurance/` → 静态文件 - **API路径**: `/insurance/api/` → 代理到后端3000端口 ## 服务管理 ### PM2命令 ```bash # 查看服务状态 pm2 status # 查看日志 pm2 logs insurance-backend # 重启服务 pm2 restart insurance-backend # 停止服务 pm2 stop insurance-backend # 监控面板 pm2 monit ``` ### nginx命令 ```bash # 测试配置 sudo nginx -t # 重新加载配置 sudo systemctl reload nginx # 重启服务 sudo systemctl restart nginx # 查看状态 sudo systemctl status nginx ``` ## 故障排除 ### 1. 前端无法访问 - 检查nginx配置是否正确 - 检查SSL证书是否有效 - 检查静态文件路径是否正确 ### 2. API请求失败 - 检查后端服务是否运行: `pm2 status` - 检查nginx代理配置 - 检查CORS设置 - 查看后端日志: `pm2 logs insurance-backend` ### 3. 数据库连接问题 - 检查数据库服务是否运行 - 检查.env文件中的数据库配置 - 检查防火墙设置 ## 监控和维护 ### 日志位置 - nginx日志: `/var/log/nginx/` - 后端日志: `/var/www/insurance-backend/logs/` - PM2日志: `pm2 logs` ### 定期维护 - 定期清理日志文件 - 监控服务器资源使用情况 - 更新SSL证书 - 备份数据库