在 Linux 上配置 GitLab(通常指自建 GitLab CE/EE),有几个容易踩坑但非常关键的点。下面按「安装前 → 配置中 → 安全与运维」给你梳理。
GitLab 比较吃资源,官方最低配置并不适合生产:
⚠️ 内存不足会导致 Sidekiq / Puma 频繁 OOM
git.example.com)curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="https://git.example.com" apt install gitlab-ce
路径:
/etc/gitlab/gitlab.rb
改完必须执行:
gitlab-ctl reconfigure
external_url 'https://git.example.com'
否则:
两种方式:
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
或反向代理(Nginx / Traefik)
不配邮箱 = 无法找回密码
示例(SMTP):
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['gitlab_email_from'] = "gitlab@example.com"
测试:
gitlab-rails console
Notify.test_email('you@mail.com', 'test', 'test').deliver_now
通常需要:
ufw allow 22,80,443/tcp
默认路径:
/var/opt/gitlab/backups
手动备份:
gitlab-rake gitlab:backup:create
建议:
内存紧张时可调:
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 10
常用命令:
gitlab-ctl status
gitlab-ctl tail
gitlab-rake gitlab:check
❌ 用 IP 访问
❌ 内存 < 4G 还开 CI
❌ 不改 external_url
❌ 不配邮件
❌ 不备份
❌ 随便改 /var/opt/gitlab
如果你愿意,我可以: