164 lines
3.0 KiB
Markdown
164 lines
3.0 KiB
Markdown
|
|
# 保险系统部署指南
|
||
|
|
|
||
|
|
## 部署架构
|
||
|
|
|
||
|
|
```
|
||
|
|
用户访问: 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证书
|
||
|
|
- 备份数据库
|