在 CentOS 上部署 GitLab 后,通过域名访问一般分为几个步骤:域名解析、GitLab 配置、反向代理(可选)、HTTPS(可选)。下面按最常见场景讲清楚。
git.example.com在你的域名服务商处添加记录:
A 记录
主机名:git
类型:A
值:你的服务器IP
解析后:
git.example.com → 服务器IP
可用命令测试:
ping git.example.com
编辑 GitLab 配置文件:
sudo vi /etc/gitlab/gitlab.rb
找到并修改:
external_url 'http://git.example.com'
如果你要用 HTTPS:
external_url 'https://git.example.com'
保存后执行:
sudo gitlab-ctl reconfigure
GitLab 默认使用 80(HTTP)或 443(HTTPS)
开放端口:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
如果是云服务器,还要在安全组放行 80 / 443。
如果你服务器上已有 Nginx,不想让 GitLab 占用 80:
external_url 'http://git.example.com'
nginx['listen_port'] = 8080
nginx['listen_https'] = false
sudo gitlab-ctl reconfigure
server {
listen 80;
server_name git.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
最简单方式(GitLab 自带 Let’s Encrypt):
external_url 'https://git.example.com'
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
sudo gitlab-ctl reconfigure
浏览器访问:
http://git.example.com
或
https://git.example.com
gitlab-ctl reconfiguresudo gitlab-ctl status
sudo gitlab-ctl restart
检查:
sudo netstat -tunlp | grep 80
如果你愿意,可以告诉我:
我可以直接给你一套可用配置。