要修复 Debian 上 GitLab 的报错,需要先看具体报错信息,因为 GitLab 在 Debian 上的问题种类很多。下面我按常见场景 + 排查步骤 + 修复方法给你一个实用指南。
请先执行以下命令,把输出贴出来(可脱敏):
sudo gitlab-ctl status
sudo gitlab-ctl tail
sudo gitlab-rake gitlab:check
常见报错来源:
gitlab-railsnginxpostgresqlredisgitaly现象
gitlab-ctl status 有服务 down排查
sudo gitlab-ctl status
sudo gitlab-ctl tail nginx
修复
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
如仍不行:
sudo gitlab-ctl stop
sudo gitlab-ctl start
常见报错
PG::ConnectionBadcould not connect to server修复
sudo gitlab-ctl restart postgresql
sudo gitlab-rake gitlab:db:configure
如数据损坏:
sudo gitlab-ctl stop
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
报错示例
Redis::CannotConnectError修复
sudo gitlab-ctl restart redis
现象
Job for nginx failed检查
sudo ss -tulnp | grep ':80'
修复
sudo systemctl stop nginx
sudo systemctl disable nginx
或修改 GitLab 端口:
sudo vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com:8080'
sudo gitlab-ctl reconfigure
报错
SSL certificate problemcertificate has expired修复
sudo gitlab-ctl reconfigure
手动更新证书:
sudo gitlab-rails runner "Let's Encrypt::Certificate.update_all"
检查
df -h
修复
sudo gitlab-ctl cleanuplog
修复
sudo apt update
sudo apt install --reinstall gitlab-ee
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-ctl status
sudo gitlab-ctl tail
请把以下信息发我:
Debian 版本GitLab 版本(gitlab-ctl version)我可以直接告诉你是哪一行配置或哪条命令能修好。