39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# Server B 单机服务开机自启 Runbook
|
|
|
|
## 方案
|
|
|
|
生产进程继续由各自的 systemd unit 管理,使用 `lisglosips.target` 编组整套单 B 服务。`lisglosips-start-b` 是人工启动和开机后验收脚本,不直接常驻托管业务进程。
|
|
|
|
这种方式比 `rc.local`、桌面启动项或后台 shell 脚本更适合生产环境:systemd 能分别记录日志、限制权限、处理依赖、实施失败重启,并准确显示单个服务状态。
|
|
|
|
## 自启范围
|
|
|
|
- 基础设施:Tailscale、MySQL、Redis、PostgreSQL、Nginx。
|
|
- 通信:OpenSIPS、RTPEngine、RTPEngine Recording、Redis AUTH Proxy、Redis 热路径加载。
|
|
- 应用:API、CDR Worker、Recording Worker、Config Publisher。
|
|
- 信令与监控:HEP、HOMER、Prometheus、Grafana、Node/MySQL/PostgreSQL/Redis Exporter。
|
|
- 定时任务:每日数据备份、每 5 秒录音整理。
|
|
|
|
## 安装
|
|
|
|
```bash
|
|
sudo /opt/lisglosips/current/infra/server-b/s58/deploy-autostart.sh
|
|
```
|
|
|
|
安装流程会备份已有文件、安装 target 和开机检查服务、启用四个应用实例、启动整套 target,并运行 API ready、Nginx、OpenSIPS 和 preflight 检查。失败时自动撤销本次新建的 enable 链接并恢复旧文件。
|
|
|
|
## 日常操作
|
|
|
|
```bash
|
|
sudo systemctl start lisglosips.target
|
|
sudo /usr/local/sbin/lisglosips-start-b
|
|
systemctl status lisglosips.target lisglosips-boot-check.service
|
|
systemctl --failed
|
|
```
|
|
|
|
不建议使用 `kill`、`nohup` 或重复启动脚本托管进程。单个服务变更仍应使用 `systemctl restart <unit>`,避免无关服务中断。
|
|
|
|
## 验收
|
|
|
|
安装后检查 `lisglosips.target`、`lisglosips-boot-check.service`、API、CDR Worker、Recording Worker、Config Publisher 是否 enabled。首次真正重启验收应安排维护窗口,记录重启时间、所有服务状态、API ready、当前通话 MI、录音入库和配置发布结果。
|