Ubuntu 上 GitLab 故障排查步骤
一 快速判断与恢复
二 常见症状与对应处理
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| 访问返回 502 Bad Gateway | 查看 /var/log/gitlab/nginx/gitlab_error.log 与 /var/log/gitlab/puma/current(或 unicorn) | 多为上游进程未就绪或端口冲突;重启 puma/unicorn 与 nginx,确认端口 80/443 未被占用 |
| 页面空白或卡在加载 | 查看 gitlab-rails/production.log | 常见为数据库/缓存异常或迁移未完成;检查 postgresql/redis 状态与连接、必要时执行 reconfigure |
| 管理界面显示服务 down | 执行 gitlab-ctl status | 针对 down 的组件逐一重启;若反复失败,查看该组件日志与资源(磁盘/内存) |
| 重启后大量组件报 fail: runsv not running | 执行 systemctl status gitlab-runsvdir;必要时 systemctl restart gitlab-runsvdir | 多为 runit 未启动或被阻塞;检查 systemctl -t target 与 systemctl list-jobs,若存在 plymouth-quit-wait.service 阻塞,先停止它再启动 GitLab |
| 服务器断电/异常关机后无法启动 | 查看各组件日志与磁盘空间 | 先确保磁盘可写、空间充足;重启 runsvdir 后逐个拉起服务,必要时 reconfigure |
| Docker 启动成功但浏览器访问不到 | 执行 docker ps -a、docker logs <容器名> | 核对端口映射 80/443/22 是否正确;检查宿主机防火墙(如 ufw)与云安全组放行;确认访问 http://宿主机IP/ 与配置一致 |
三 深入排查命令清单
四 高频问题与修复要点
大量组件报 fail: runsv not running
访问 502 Bad Gateway
断电/异常关机后启动异常
端口冲突或防火墙阻断
配置变更后异常