现象:安装GitLab时提示缺少依赖包(如libsemanage-static、policycoreutils-python、ca-certificates等)。
解决方案:根据错误提示安装对应依赖包。例如:
sudo yum install -y libsemanage-static libsemanage-devel policycoreutils-python ca-certificates
安装完成后重新运行安装命令即可。
现象:访问GitLab页面提示“端口已占用”(如80、443、8080等端口),或安装过程中出现Errno::EADDRINUSE错误。
解决方案:
lsof -i :端口号命令查找占用端口的进程,例如:lsof -i :80
kill -9 进程ID。/etc/gitlab/gitlab.rb,调整端口设置(如将unicorn端口改为8081):unicorn['port'] = 8081
nginx['listen_port'] = 8081
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
现象:访问GitLab页面时出现502错误(通常伴随“Nginx或unicorn服务未启动”提示)。
解决方案:
sudo gitlab-ctl status,确认nginx和unicorn服务是否运行。sudo gitlab-ctl restart。sudo gitlab-ctl tail nginx/gitlab_access.log。现象:修改/etc/gitlab/gitlab.rb(如设置external_url)后,执行gitlab-ctl reconfigure仍无法生效。
解决方案:
sudo gitlab-ctl reconfigure命令(该命令会应用配置变更)。sudo gitlab-ctl restart。external_url格式应为http://IP:端口或https://域名)。现象:无法通过浏览器访问GitLab页面(提示“无法连接”或“拒绝访问”)。
解决方案:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
libsemanage-static和libsemanage-devel包后重新配置:sudo yum install -y libsemanage-static libsemanage-devel
sudo gitlab-ctl reconfigure
现象:GitLab无法发送邮件(如密码重置、合并请求通知等)。
解决方案:
/etc/gitlab/gitlab.rb中的邮件配置(以Postfix为例):gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@example.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
sudo gitlab-ctl reconfigure,并重启Postfix服务:sudo systemctl restart postfix。现象:GitLab启动缓慢、页面加载慢或CI/CD构建超时(常见于服务器内存<4GB的场景)。
解决方案:
sudo dd if=/dev/zero of=/data/swap bs=512 count=8388616 # 创建4GB Swap文件
sudo mkswap /data/swap # 格式化Swap文件
sudo chmod 600 /data/swap # 设置权限
sudo swapon /data/swap # 启用Swap
现象:升级GitLab时出现依赖冲突、数据丢失或服务无法启动。
解决方案:
sudo gitlab-rake gitlab:backup:create
sudo gitlab-ctl stop
sudo rpm -e gitlab-ce # 卸载旧版本
sudo yum install -y gitlab-ce-新版本.rpm # 安装新版本
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
sudo gitlab-rake gitlab:env:info)和服务状态(sudo gitlab-ctl status)。现象:用户无法通过SSH或HTTPS克隆GitLab仓库(提示“Permission denied”或“Authentication failed”)。
解决方案:
~/.ssh/id_rsa.pub),并测试SSH连接:ssh -T git@your_gitlab_server_ip
sudo chown -R git:git /var/opt/gitlab
sudo chmod -R 755 /var/log/gitlab
现象:误删除仓库、配置文件或数据库,导致GitLab无法正常运行。
解决方案:
/var/opt/gitlab/backups目录):sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名(如1710000000_2025_09_17_11.9.0)
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart