Files
nxxmdata/insurance_backend/DEPLOYMENT.md

164 lines
3.0 KiB
Markdown
Raw Normal View History

2025-09-30 17:41:21 +08:00
# 保险系统部署指南
## 部署架构
```
用户访问: 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证书
- 备份数据库