调试 Linux 上的 GitLab 通常分为服务状态排查、日志分析、配置验证、常见故障处理几个层面。下面给你一套比较系统的做法,从“先看病”到“动手修”。
sudo gitlab-ctl status
正常应看到:
runsvdirnginxpuma / unicornsidekiqpostgresqlredisgitaly如果有 down,说明对应组件异常。
sudo gitlab-ctl start
sudo gitlab-ctl restart
sudo gitlab-ctl stop
sudo gitlab-ctl tail
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail puma
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail gitaly
/var/log/gitlab/
nginx/gitlab_error.logpuma/puma_stderr.logsidekiq/currentpostgresql/postgresql.logsudo vim /etc/gitlab/gitlab.rb
常见检查项:
external_urlnginx['listen_port']gitlab_rails['gitlab_email_from']postgresql['enable']sudo gitlab-ctl reconfigure
sudo gitlab-rake gitlab:check
sudo gitlab-rake gitlab:env:info
sudo gitlab-rails console
Notify.test_email('you@example.com', 'Test', 'Hello').deliver_now
可能原因:
排查:
sudo gitlab-ctl status
free -h
sudo gitlab-ctl tail puma
ssh -T git@your-gitlab.com
curl -v http://gitlab
sudo gitlab-psql
或查看:
sudo gitlab-ctl tail postgresql
df -h
du -sh /var/opt/gitlab/*
常见爆盘目录:
backupsartifactsregistrysudo gitlab-rails console
可以:
示例:
User.find_by(username: 'root').password='12345678'
User.find_by(username: 'root').save!
docker logs gitlab
docker exec -it gitlab gitlab-ctl status
如果你愿意,可以告诉我:
我可以直接帮你定位具体问题并给出修复命令。