你这个问题比较宽泛,下面我按常见场景给你一份 Linux 上 GitLab 排查错误的实用思路,适合 GitLab(Omnibus 或源码) 环境。
sudo gitlab-ctl status
常见状态:
run:正常down:异常(重点排查)如果某个组件 down,例如 unicorn、sidekiq、nginx,再看日志。
sudo gitlab-ctl tail
实时查看所有组件日志,适合突发问题。
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail unicorn
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail gitaly
常见组件:
排查顺序:
sudo gitlab-ctl status
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail unicorn
常见原因:
检查内存:
free -h
sudo gitlab-ctl tail gitaly
sudo gitlab-ctl tail sshd
可能原因:
检查磁盘:
df -h
sudo gitlab-ctl tail sidekiq
检查:
gitlab-runner status
sudo gitlab-ctl tail postgresql
检查数据库状态:
sudo gitlab-psql
修改配置后:
sudo gitlab-ctl reconfigure
如果失败,日志会直接指出哪一行配置错误。
sudo firewall-cmd --list-all
# 或
iptables -L
getenforce
如果是 Enforcing,可临时关闭测试:
setenforce 0
ss -lntp
GitLab 常用端口:
# 重启 GitLab
sudo gitlab-ctl restart
# 只重启某组件
sudo gitlab-ctl restart nginx
# 检查配置
sudo gitlab-rake gitlab:check
# 健康检查
sudo gitlab-rake gitlab:env:info
我可以更精准帮你,比如:
git push 报什么你可以直接贴 报错日志片段。