Ubuntu 上 GitLab 故障排查步骤
一 快速定位与通用检查
二 常见故障场景与处理
| 症状 | 快速检查 | 处理要点 |
|---|---|---|
| 访问返回 502 Bad Gateway | gitlab-ctl status 发现 puma/unicorn 反复重启或 down;查看 /var/log/gitlab/unicorn/current 或 /var/log/gitlab/puma/current | 重启应用服务:sudo gitlab-ctl restart puma/unicorn;确认进程与端口:**ps -ef |
| 重启后大量组件报 fail: xxx: runsv not running | 执行 systemctl status gitlab-runsvdir 与 systemctl -t target、systemctl list-jobs | 重启 runit 管理:sudo systemctl restart gitlab-runsvdir;若卡住,检查是否有阻塞任务(如 plymouth-quit-wait.service),可临时停止后再启动 GitLab:sudo systemctl stop plymouth-quit-wait.service && sudo gitlab-ctl start。 |
| 页面访问或推送很慢、卡顿 | top/htop 观察 puma、sidekiq、gitaly、postgresql、redis 资源占用;日志无明显报错 | 精简非核心组件(测试/演示环境):在 /etc/gitlab/gitlab.rb 中关闭监控导出器与监控角色(如 monitoring_role[‘enable’]=false、prometheus[‘enable’]=false、alertmanager[‘enable’]=false、postgres_exporter[‘enable’]=false、redis_exporter[‘enable’]=false、node_exporter[‘enable’]=false),并适度下调 puma[‘worker_processes’]、puma[‘min_threads’]/[‘max_threads’]、sidekiq[‘concurrency’]、postgresql[‘shared_buffers’];修改后执行 gitlab-ctl reconfigure 并重启相关服务。生产环境不建议关闭 puma 的 cluster 模式。 |
| 首次启动或升级后访问异常 | 组件未就绪、配置未生成或端口冲突 | 重新生成配置:sudo gitlab-ctl reconfigure;检查端口占用:**sudo netstat -tuln |
三 日志与数据目录速查
四 应急与回退建议