使用自定义域名访问 GitLab 私有仓库
🎯 关键
一部分gitlab的配置可以通过在web端通过登录root用户进行admin修改。部分需要修改服务器下关于gitlab的配置文件。
Gitlab主要配置文件
一、GitLab 最核心的配置文件(99% 的修改都在这)
1. /etc/gitlab/gitlab.rb(主配置文件,必记!)
- 作用:GitLab 所有全局配置的「入口文件」,包括外部访问 URL、端口、存储路径、邮件、SSL、LDAP、内置组件(Nginx/PostgreSQL/Redis)等,是你唯一需要手动修改的配置文件。
- 特点:默认全是注释(
#开头),只需要取消注释并修改对应参数,无需手写配置;修改后不会立即生效,需要执行命令生成实际配置。 - 新手常用配置示例:
# 1. 设置GitLab外部访问地址(最基础配置)
external_url 'https://gitlab.yourdomain.com'
# 2. 修改GitLab内置Nginx的端口(默认80/443)
nginx['listen_port'] = 8080
nginx['listen_https'] = false # 若用HTTP访问
# 3. 设置数据存储路径(默认/var/opt/gitlab)
git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data" } })
# 4. 邮件配置(发送通知)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
2. /var/opt/gitlab/gitlab-rails/etc/gitlab.yml(实际生效的应用配置)
- 作用:由
/etc/gitlab/gitlab.rb生成的「最终生效配置文件」,包含 GitLab Rails 应用的所有细节配置。 - 注意:不要手动修改!修改后会被
gitlab-ctl reconfigure覆盖,所有改动都要在gitlab.rb中完成。
二、GitLab 各组件的专属配置文件(由 gitlab.rb 生成)
GitLab 是「一站式包」,内置 Nginx/PostgreSQL/Redis 等组件,它们的配置文件由 gitlab.rb 生成,路径如下:
| 组件 | 配置文件路径 | 作用 |
|---|---|---|
| 内置 Nginx | /var/opt/gitlab/nginx/conf/gitlab-http.conf |
GitLab 访问的 Nginx 配置 |
| PostgreSQL | /var/opt/gitlab/postgresql/data/postgresql.conf |
数据库配置 |
| Redis | /var/opt/gitlab/redis/redis.conf |
缓存服务配置 |
| GitLab Shell | /var/opt/gitlab/gitlab-shell/config.yml |
Git 命令行/SSH 配置 |
| Sidekiq | /var/opt/gitlab/gitlab-rails/etc/sidekiq.yml |
异步任务队列配置 |
三、其他辅助配置文件
1. 日志相关
- 日志存储路径:
/var/log/gitlab/(各组件日志分目录存放,如gitlab-rails/、nginx/) - 日志配置:在
gitlab.rb中修改(如日志级别、保留天数):
logging['log_level'] = 'info' # 日志级别:debug/info/warn/error
logging['keep_rails_logs_for_days'] = 7 # 日志保留7天
2. 备份/权限配置
- 备份配置:在
gitlab.rb中设置备份路径、保留时间:
gitlab_rails['backup_path'] = "/data/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800 # 备份保留7天(秒)
- 权限配置:
/etc/gitlab/permissions.json(定义各目录/文件的默认权限,一般无需修改)。
四、修改配置后的生效步骤(核心!新手必看)
修改 /etc/gitlab/gitlab.rb 后,必须执行以下命令让配置生效:
# 1. 重新生成配置并应用(核心命令,覆盖所有组件配置)
sudo gitlab-ctl reconfigure
# 2. (可选)重启GitLab所有服务(确保配置生效)
sudo gitlab-ctl restart
# 3. 验证配置是否生效
sudo gitlab-ctl status # 查看所有组件状态
sudo gitlab-rake gitlab:check SANITIZE=true # 检查GitLab健康状态
总结
- 核心配置文件:
/etc/gitlab/gitlab.rb(唯一需要手动修改的文件); - 生成的配置文件:
/var/opt/gitlab/下的各组件配置(不要手动改); - 生效关键:修改
gitlab.rb后执行gitlab-ctl reconfigure,而非直接重启服务; - 新手重点:先改
external_url配置访问地址,再根据需求调整端口、存储路径、邮件等。