157 lines
3.4 KiB
Markdown
157 lines
3.4 KiB
Markdown
|
|
# 发布包使用指南
|
|||
|
|
|
|||
|
|
## 发布包位置
|
|||
|
|
|
|||
|
|
发布包已生成在项目根目录下的 `release` 文件夹中。
|
|||
|
|
|
|||
|
|
## 发布包内容
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
release/
|
|||
|
|
├── dist/ # 构建后的应用程序文件
|
|||
|
|
│ └── index.es.js # 主程序文件
|
|||
|
|
├── scripts/ # 部署脚本
|
|||
|
|
│ ├── deploy.bat # 首次部署脚本
|
|||
|
|
│ └── update.bat # 更新部署脚本
|
|||
|
|
├── src/
|
|||
|
|
│ └── config/
|
|||
|
|
│ └── config.example.js # 配置文件示例
|
|||
|
|
├── .env.example # 环境变量配置示例
|
|||
|
|
├── ecosystem.config.js # PM2进程管理配置
|
|||
|
|
├── package.json # 项目依赖配置
|
|||
|
|
├── package-lock.json # 依赖锁定文件
|
|||
|
|
└── README.txt # 快速使用说明
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 部署步骤
|
|||
|
|
|
|||
|
|
### 1. 复制发布包
|
|||
|
|
|
|||
|
|
将整个 `release` 文件夹复制到目标服务器的指定目录,例如:
|
|||
|
|
- `C:\BLS_Heartbeat_Server`
|
|||
|
|
|
|||
|
|
### 2. 在目标服务器上部署
|
|||
|
|
|
|||
|
|
打开命令提示符(CMD)或PowerShell,进入项目目录:
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
cd C:\BLS_Heartbeat_Server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 运行部署脚本
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
scripts\deploy.bat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
部署脚本会自动完成以下操作:
|
|||
|
|
- 检查Node.js和PM2环境
|
|||
|
|
- 安装项目依赖
|
|||
|
|
- 创建日志目录
|
|||
|
|
- 初始化数据库
|
|||
|
|
- 启动服务
|
|||
|
|
|
|||
|
|
### 4. 配置环境变量
|
|||
|
|
|
|||
|
|
首次运行后,需要编辑 `.env` 文件,设置实际的配置参数:
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
notepad .env
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
关键配置项:
|
|||
|
|
- `KAFKA_BROKERS`: Kafka服务器地址
|
|||
|
|
- `KAFKA_TOPIC`: Kafka主题名称
|
|||
|
|
- `POSTGRES_HOST`: PostgreSQL服务器地址
|
|||
|
|
- `POSTGRES_DATABASE`: 数据库名称
|
|||
|
|
- `POSTGRES_USER`: 数据库用户名
|
|||
|
|
- `POSTGRES_PASSWORD`: 数据库密码
|
|||
|
|
- `REDIS_HOST`: Redis服务器地址(可选)
|
|||
|
|
|
|||
|
|
### 5. 重启服务
|
|||
|
|
|
|||
|
|
配置完成后,重启服务使配置生效:
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
pm2 restart web-bls-heartbeat-server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 更新部署
|
|||
|
|
|
|||
|
|
当有新版本时,可以运行更新脚本:
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
scripts\update.bat
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
更新脚本会自动完成以下操作:
|
|||
|
|
- 停止当前服务
|
|||
|
|
- 备份当前版本
|
|||
|
|
- 更新依赖
|
|||
|
|
- 更新数据库
|
|||
|
|
- 重启服务
|
|||
|
|
|
|||
|
|
## 常用PM2命令
|
|||
|
|
|
|||
|
|
```cmd
|
|||
|
|
# 查看服务状态
|
|||
|
|
pm2 status
|
|||
|
|
|
|||
|
|
# 查看实时日志
|
|||
|
|
pm2 logs web-bls-heartbeat-server
|
|||
|
|
|
|||
|
|
# 查看错误日志
|
|||
|
|
pm2 logs web-bls-heartbeat-server --err
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
pm2 restart web-bls-heartbeat-server
|
|||
|
|
|
|||
|
|
# 停止服务
|
|||
|
|
pm2 stop web-bls-heartbeat-server
|
|||
|
|
|
|||
|
|
# 启动服务
|
|||
|
|
pm2 start ecosystem.config.js
|
|||
|
|
|
|||
|
|
# 实时监控
|
|||
|
|
pm2 monit
|
|||
|
|
|
|||
|
|
# 查看服务详情
|
|||
|
|
pm2 show web-bls-heartbeat-server
|
|||
|
|
|
|||
|
|
# 清空日志
|
|||
|
|
pm2 flush
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 故障排查
|
|||
|
|
|
|||
|
|
### 服务无法启动
|
|||
|
|
|
|||
|
|
1. 检查Node.js版本:`node --version`
|
|||
|
|
2. 检查PM2状态:`pm2 list`
|
|||
|
|
3. 查看错误日志:`pm2 logs web-bls-heartbeat-server --err`
|
|||
|
|
4. 检查配置文件:确认 `.env` 文件配置正确
|
|||
|
|
|
|||
|
|
### 数据库连接失败
|
|||
|
|
|
|||
|
|
1. 检查PostgreSQL服务是否运行
|
|||
|
|
2. 验证数据库连接信息
|
|||
|
|
3. 检查防火墙设置
|
|||
|
|
4. 确认数据库用户权限
|
|||
|
|
|
|||
|
|
### Kafka连接失败
|
|||
|
|
|
|||
|
|
1. 检查Kafka服务是否运行
|
|||
|
|
2. 验证Kafka地址和端口
|
|||
|
|
3. 检查主题是否存在
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. 首次部署需要配置 `.env` 文件
|
|||
|
|
2. 确保目标服务器已安装Node.js和PM2
|
|||
|
|
3. 确保PostgreSQL、Kafka、Redis服务可访问
|
|||
|
|
4. 建议定期备份数据库和配置文件
|
|||
|
|
5. 生产环境建议设置PM2开机自启
|
|||
|
|
|
|||
|
|
## 技术支持
|
|||
|
|
|
|||
|
|
如有问题,请参考详细部署文档:`docs/deployment.md`
|