Hexo 博客自动部署指南
环境准备
1. 安装必要软件
1 | # 更新系统 |
2. 克隆仓库和设置目录
1 | # 创建项目目录 |
3. 配置 Hexo
1 | cd /home/$USER/hexo-blog |
部署步骤
1. 部署 Webhook 服务
1 | # 复制脚本文件到服务器 |
2. 配置 Nginx(可选)
1 | # 安装 Nginx |
Nginx 配置内容:
1 | server { |
1 | # 启用站点 |
3. 配置 Git Webhook
GitHub 设置:
- 进入仓库 Settings > Webhooks
- 添加新的 Webhook:
- Payload URL:
http://your-server-ip:3001/webhook - Content type:
application/json - Secret: 与环境变量中的相同
- Events: 选择 “Just the push event”
- Payload URL:
GitLab 设置:
- 进入项目 Settings > Webhooks
- 添加 webhook:
- URL:
http://your-server-ip:3001/webhook - Secret Token: 与环境变量中的相同
- Trigger: Push events
- URL:
测试部署
1. 手动测试
1 | # 手动运行部署脚本 |
2. 测试 Webhook
1 | # 检查 PM2 状态 |
3. 从本地推送测试
1 | # 在本地修改任意 Markdown 文件后推送 |
故障排查
常见问题
- 权限问题
1 | # 检查文件权限 |
- 端口被占用
1 | # 检查端口使用情况 |
- Git 权限问题
1 | # 配置 Git 凭证 |
- Hexo 生成错误
1 | # 检查 Hexo 依赖 |
日志查看
1 | # 查看部署日志 |
优化建议
1. 安全配置
- 使用 HTTPS(Let’s Encrypt)
- 配置防火墙规则
- 定期更新系统和依赖
2. 性能优化
- 启用 Nginx 压缩
- 配置缓存策略
- 使用 CDN 加速
3. 监控和备份
- 设置系统监控
- 定期备份博客数据
- 配置错误通知
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.