温馨提示×

linux gitlab配置注意啥

小樊
37
2026-09-07 13:03:46
栏目: 智能运维

在 Linux 上部署和配置 GitLab(通常指 GitLab CE/EE 自托管),有不少“坑”和最佳实践。下面从安装前、安装中、安装后、安全与运维几个维度给你梳理一下注意事项。


一、安装前注意事项

1️⃣ 服务器资源配置(很重要)

GitLab 比较吃资源,官方最低要求

  • CPU:4 核及以上(推荐)
  • 内存:4GB 起步,8GB 推荐
  • 磁盘:至少 20GB,代码多建议 100GB+

⚠️ 内存小于 4G 很容易出现 502 / 卡死。


2️⃣ 系统版本选择

推荐:

  • Ubuntu 20.04 / 22.04
  • CentOS 7(已 EOL,不推荐)
  • Rocky / AlmaLinux 8/9

✅ 用 LTS 版本,避免系统太新导致依赖不兼容。


3️⃣ 域名与 DNS

  • 提前准备域名(如 gitlab.example.com
  • DNS A 记录指向服务器 IP
  • 后续改域名比一开始配置更麻烦

二、安装方式选择

✅ 推荐:Omnibus 包安装(最简单)

sudo apt update
sudo apt install -y curl openssh-server ca-certificates
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ee

优点:

  • 自动配置 Nginx、PostgreSQL、Redis
  • 运维成本低

❌ 不推荐:

  • Docker 新手直接上(坑多)
  • 手动编译安装

三、核心配置注意(gitlab.rb

配置文件路径:

/etc/gitlab/gitlab.rb

1️⃣ 外部访问地址

external_url 'https://gitlab.example.com'

⚠️ 一旦修改,要执行:

gitlab-ctl reconfigure

2️⃣ 邮件配置(非常容易漏)

否则无法注册、找回密码:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'

改完执行:

gitlab-ctl reconfigure
gitlab-rake gitlab:email:test

3️⃣ 开启 HTTPS(强烈建议)

GitLab 自带 Let’s Encrypt:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

或自己放证书:

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

四、安全配置(生产必做)

1️⃣ 禁止 root 直接登录 GitLab

  • 安装后第一个用户就是 admin
  • 马上改密码、关掉注册(如内网用)
gitlab_rails['gitlab_signup_enabled'] = false

2️⃣ 防火墙

只开放:

  • 22(SSH)
  • 80 / 443
ufw allow 22,80,443/tcp

3️⃣ 定期备份

GitLab 自带备份:

gitlab-rake gitlab:backup:create

建议:

  • 每天定时备份
  • 备份文件放到另一台机器或对象存储

五、常见坑总结 ⚠️

问题 原因
502 错误 内存不足 / 服务未启动
邮箱收不到 SMTP 没配
改域名后异常 没 reconfigure
磁盘爆满 没清理备份 / CI 缓存
登录慢 PostgreSQL 性能问题

六、日常运维命令

gitlab-ctl status
gitlab-ctl restart
gitlab-ctl tail
gitlab-rake gitlab:check

七、适合你的下一步建议

如果你是:

  • ✅ 内网使用 → 关注册 + LDAP
  • ✅ 公网使用 → HTTPS + 限流 + 备份
  • ✅ CI/CD → 单独跑 Runner

如果你愿意,可以告诉我:

  • 你是 Ubuntu 还是 CentOS
  • 公网还是内网
  • 是否有 域名 / SSL

我可以给你一套可直接用的配置模板

0