温馨提示×

如何调试CentOS GitLab

小樊
55
2026-07-20 04:36:03
栏目: 智能运维

CentOS 上调试 GitLab,通常涵盖 服务状态、日志、配置文件、网络、权限、资源 等多个方面。下面给你一套比较系统的调试思路和常用命令(适用于 Omnibus 版 GitLab,最常见)。


一、确认 GitLab 是否正常运行

1️⃣ 查看 GitLab 整体状态

sudo gitlab-ctl status

正常应看到:

run: nginx: ...
run: postgresql: ...
run: redis: ...
run: sidekiq: ...
run: unicorn / puma: ...

如果有 down,说明对应服务异常。


2️⃣ 检查核心服务是否启动

sudo gitlab-ctl start

单独重启某个服务:

sudo gitlab-ctl restart nginx
sudo gitlab-ctl restart sidekiq
sudo gitlab-ctl restart puma

二、查看 GitLab 日志(最关键)

1️⃣ 常用日志目录

/var/log/gitlab/

2️⃣ 查看主要日志

GitLab Rails 日志

sudo tail -f /var/log/gitlab/gitlab-rails/production.log

Nginx 访问 / 错误日志

sudo tail -f /var/log/gitlab/nginx/error.log
sudo tail -f /var/log/gitlab/nginx/access.log

Sidekiq(后台任务)

sudo tail -f /var/log/gitlab/sidekiq/current

Redis

sudo tail -f /var/log/gitlab/redis/current

PostgreSQL

sudo tail -f /var/log/gitlab/postgresql/current

三、检查配置文件

1️⃣ 编辑配置

sudo gitlab-ctl reconfigure
sudo vi /etc/gitlab/gitlab.rb

2️⃣ 修改配置后必须执行

sudo gitlab-ctl reconfigure

⚠️ 不执行 reconfigure,配置不会生效


四、检查端口与网络

1️⃣ 查看端口监听

ss -lntp

常见端口:

  • 80 / 443(Nginx)
  • 22(SSH)
  • 5432(PostgreSQL,默认仅本地)

2️⃣ 检查防火墙

sudo firewall-cmd --list-all

开放端口示例:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

五、检查 GitLab 自检工具

1️⃣ GitLab 内部检查

sudo gitlab-rake gitlab:check

常用于:

  • 仓库权限
  • 存储目录
  • SSH / HTTPS 配置

六、调试 Git / SSH 问题

1️⃣ 测试 SSH 连接

ssh -T git@your-gitlab-domain

2️⃣ 查看 SSH 日志

sudo tail -f /var/log/secure

七、性能 & 资源问题

1️⃣ 查看 CPU / 内存

top
htop
free -h

GitLab 资源建议:

  • CPU:4 核+
  • 内存:8GB+(最低 4GB)

2️⃣ 查看磁盘空间

df -h

八、重置或修复 GitLab

1️⃣ 重新加载配置

sudo gitlab-ctl reconfigure

2️⃣ 重启所有服务

sudo gitlab-ctl restart

3️⃣ 重置管理员密码(忘记密码)

sudo gitlab-rails console
user = User.find_by(username: 'root')
user.password = 'NewPassword123'
user.password_confirmation = 'NewPassword123'
user.save!

九、常见错误速查

问题 排查点
502 Bad Gateway nginx / puma / unicorn 未启动
无法访问页面 防火墙 / 端口 / SELinux
Git push 失败 SSH / 权限 / 磁盘
页面很慢 内存不足 / sidekiq
邮件发不出去 SMTP 配置

十、如果你愿意,我可以更具体帮你

你可以直接贴出:

  • ✅ 报错信息
  • gitlab-ctl status
  • ✅ 相关日志(production.log / error.log)
  • ✅ GitLab 版本 (gitlab-rake gitlab:env:info)

我可以 精准定位问题,一步一步带你修 ✅

0