fix: 修复部署脚本中的关键问题并添加运维告警邮箱配置

- 修复deploy.sh中的关键问题:
  - 删除本地创建远程目录的错误代码
  - 修复SCP目标路径错误
  - 修复grep中的变量展开问题
  - 修复容器日志查看命令
  - 实现健康检查机制替代硬编码等待时间
  - 添加SSH连接验证
  - 添加cron任务配置的错误处理
- 添加运维告警邮箱环境变量OPS_ALERT_EMAIL
- 更新部署文档,添加SSL证书自动续期详细说明
This commit is contained in:
张翔
2026-03-26 19:35:27 +08:00
parent ece3c86e29
commit 8b48617bb7
4 changed files with 65 additions and 11 deletions
+25 -1
View File
@@ -63,6 +63,7 @@
- `NEXTAUTH_SECRET`: NextAuth密钥
- `NEXTAUTH_URL`: 应用URL
- `RESEND_API_KEY`: Resend邮件服务API密钥
- `OPS_ALERT_EMAIL`: 运维告警邮箱(默认: ops@novalon.cn
### 5. setup-ssl.sh
- **作用**: SSL证书配置脚本
@@ -191,11 +192,34 @@ sudo chmod 600 /home/novalon/docker-app/ssl/privkey.pem
```
**自动续期配置**:
部署脚本会自动配置SSL证书自动续期任务:
```bash
# 部署脚本会自动添加以下cron任务
0 0,12 * * * certbot renew --quiet --post-hook 'docker restart novalon-nginx'
```
**手动配置自动续期**(如果需要):
```bash
# 添加cron任务
0 0,12 * * * certbot renew --quiet
(crontab -l 2>/dev/null; echo "0 0,12 * * * certbot renew --quiet --post-hook 'docker restart novalon-nginx'") | crontab -
# 验证cron任务
crontab -l
# 手动测试续期
certbot renew --dry-run
```
**自动续期说明**:
- 每天凌晨0点和中午12点自动检查证书续期
- 证书到期前30天内才会实际续期
- 续期成功后自动重启nginx容器以加载新证书
- 续期过程静默执行,不产生输出
- 续期失败时不会影响现有证书使用
#### 步骤5: 部署执行 ✅
**自动化部署**: