温馨提示×

linux gitlab配置咋排查

小樊
40
2026-10-07 09:02:05
栏目: 智能运维

排查 Linux 上 GitLab 的问题,可以按「由外到内、由服务到日志」的思路来。下面是一套比较系统的排查流程,适用于自建 GitLab(Omnibus 或源码)。


一、先确认 GitLab 是否在运行

Omnibus 安装(最常见)

sudo gitlab-ctl status

正常应看到:

  • run: nginx
  • run: puma
  • run: sidekiq
  • run: postgresql
  • run: redis

如果有 down,重点看那个服务。

重启所有服务:

sudo gitlab-ctl restart

二、检查核心日志(最重要)

1️⃣ 总体日志

sudo gitlab-ctl tail

实时看错误,特别适合启动失败、502、超时。

2️⃣ 分服务日志

sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail puma
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail postgresql

常见错误:

  • permission denied → 权限问题
  • address already in use → 端口冲突
  • database connection failed → DB 没起来

三、Web 访问问题(502 / 无法访问)

1️⃣ 端口冲突

GitLab 默认:

  • 80(HTTP)
  • 443(HTTPS)
  • 22(SSH,可选)

检查:

sudo netstat -tunlp | grep -E '80|443|22'

2️⃣ 配置是否正确

sudo gitlab-rake gitlab:check

会检查:

  • 配置文件
  • 权限
  • 仓库路径
  • SSH key

3️⃣ 重新加载配置

sudo gitlab-ctl reconfigure

四、Git 操作失败(push / clone 报错)

1️⃣ SSH 问题

ssh -T git@你的gitlab地址

失败常见原因:

  • SSH key 没加
  • sshd 没开
  • GitLab SSH 端口改了但没配

2️⃣ HTTP/HTTPS 问题

git remote -v
curl -I http://gitlab地址

五、数据库 & 存储问题

数据库状态

sudo gitlab-ctl pg-upgrade
sudo gitlab-rake db:migrate:status

磁盘空间(很容易忽略)

df -h
du -sh /var/opt/gitlab

磁盘满会导致:

  • 502
  • push 失败
  • sidekiq 卡死

六、配置文件位置(记一下)

项目 路径
主配置 /etc/gitlab/gitlab.rb
数据目录 /var/opt/gitlab
日志目录 /var/log/gitlab
Nginx 配置 /var/opt/gitlab/nginx

七、常见坑速查表

现象 可能原因
502 puma/sidekiq 没起
访问慢 sidekiq 积压
push 被拒 权限 / 分支保护
邮箱发不出 SMTP 配置错
CI 跑不了 runner 没注册

八、如果你愿意,我可以更精准帮你

你可以直接告诉我:

  1. GitLab 安装方式(Omnibus / Docker / 源码)
  2. 具体现象(502?push 失败?启动不了?)
  3. 关键日志(贴一段 gitlab-ctl tail)

我可以直接帮你定位到“哪一行配置或哪个服务”出了问题。

0 踩