在 Debian 上优化 GitLab(通常是 Omnibus 安装)主要关注:资源占用、性能、存储、备份和安全。下面按「场景 + 实操」给你一套可落地的优化方案。
GitLab 默认吃内存很猛,小内存机器必须先砍组件。
编辑:
sudo vim /etc/gitlab/gitlab.rb
# 不使用 GitLab Pages
gitlab_pages['enable'] = false
# 不使用 Mattermost
mattermost['enable'] = false
# 不使用 Container Registry(如不用)
registry['enable'] = false
# 不使用 Kerberos
gitlab_rails['kerberos_enabled'] = false
GitLab 13+ 默认用 Puma:
puma['worker_processes'] = 2
puma['worker_timeout'] = 60
(2–4G 内存建议 2 个 worker)
sidekiq['concurrency'] = 10
postgresql['shared_buffers'] = "256MB"
postgresql['max_connections'] = 100
然后:
sudo gitlab-ctl reconfigure
gitlab_rails['gzip_enabled'] = true
nginx['enable'] = true
如果机器资源紧张:
redis['enable'] = false
gitlab_rails['redis_host'] = "127.0.0.1"
gitlab_rails['redis_port'] = 6379
postgresql['enable'] = false
gitlab_rails['db_host'] = "db.example.com"
gitlab_rails['db_user'] = "gitlab"
git_data_dirs({
"default" => { "path" => "/data/gitlab/git-data" }
})
gitlab_rails['backup_path'] = "/data/gitlab/backups"
# 清理旧备份
find /data/gitlab/backups -mtime +7 -delete
# 清理 Docker / 构建缓存(如启用)
gitlab-ctl registry-gc
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
CE 版只能全量。
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
external_url 'https://gitlab.example.com'
nginx['redirect_http_to_https'] = true
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
/dev/sdb1 /data ext4 defaults,noatime 0 2
puma['worker_processes'] = 2
sidekiq['concurrency'] = 8
postgresql['shared_buffers'] = "256MB"
gitlab_pages['enable'] = false
registry['enable'] = false
mattermost['enable'] = false
gitlab-ctl status
gitlab-ctl top
gitlab-rake gitlab:env:info
如果你愿意,可以告诉我:
我可以直接给你一份 定制化 gitlab.rb。