GitLab Linux 配置最佳实践
一 安装与基础配置
sudo apt-get update && sudo apt-get install -y curl openssh-server ca-certificates tzdata;RHEL/CentOS 执行 sudo yum install -y curl policycoreutils-python openssh-server postfix。curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash 后 sudo apt-get install gitlab-cecurl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 后 sudo yum install gitlab-ceexternal_url 'https://gitlab.example.com';如需自定义端口,也在该文件中调整。sudo gitlab-ctl reconfigure,必要时 sudo gitlab-ctl start/restart。sudo ufw allow 'Nginx Full'; sudo ufw allow 'OpenSSH'; sudo ufw enable。二 安全加固
nginx['redirect_http_to_https'] = true,证书路径示例:
nginx['ssl_certificate'] = "/etc/letsencrypt/live/example.com/fullchain.pem"nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/example.com/privkey.pem"三 性能与高可用
shared_buffers = 内存的 25%–40%,max_connections ≈ 并发用户数的 2 倍,并按需调整 work_mem/maintenance_work_mem;启用 Redis 缓存(示例:gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379")。四 备份恢复与维护
sudo gitlab-ctl reconfigure 并校验数据一致性。sudo gitlab-ctl reconfigure 并重启相关服务;持续监控与告警,定期清理无用数据与过期日志。五 快速检查清单
| 领域 | 关键动作 | 验证方式 |
|---|---|---|
| 安装 | 官方仓库安装、设置 external_url | gitlab-ctl status 正常 |
| 端口与防火墙 | 仅开放 80/443/22 | `ss -tulpen |
| HTTPS | 配置 Let’s Encrypt 证书与自动重定向 | 访问 HTTP 自动跳转 HTTPS |
| 备份 | 定时备份到 /var/opt/gitlab/backups 并异地留存 | 最近备份文件存在且可恢复 |
| 监控告警 | 启用 Prometheus/Grafana 与日志告警 | 告警规则生效、面板有数据 |
| 升级 | 按路径升级、先备份再变更 | 版本号更新、服务正常 |
以上清单可作为上线前与日常巡检的参考,确保配置、安全、性能与可用性处于可控状态。