在 CentOS 上修改 GitLab 的端口,通常是修改 GitLab 的对外访问端口(如从 80 / 443 改成其他端口)。下面按最常见场景一步一步说明。
sudo vi /etc/gitlab/gitlab.rb
找到或添加以下内容(以改成 8080 / 8443 为例):
external_url 'http://gitlab.example.com:8080'
# 或 HTTPS
# external_url 'https://gitlab.example.com:8443'
如果你只是改 HTTP 端口,也可以单独指定:
nginx['listen_port'] = 8080
HTTPS 端口:
nginx['listen_https'] = true
nginx['listen_port'] = 8443
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8443/tcp
sudo firewall-cmd --reload
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
service iptables save
浏览器访问:
http://服务器IP:8080
GitLab 的 SSH(22)端口 也可以改:
sudo vi /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_shell_ssh_port'] = 2222
然后:
sudo gitlab-ctl reconfigure
并且确保 服务器 SSH 端口也是 2222(或做端口转发)。
ss -lntp | grep 8080
sudo gitlab-ctl status
sudo gitlab-ctl tail
⚠️ external_url 里的端口优先级最高,不要两边写矛盾。
| 需求 | 配置 |
|---|---|
| 改 HTTP 端口 | external_url 'http://ip:8080' |
| 改 HTTPS 端口 | external_url 'https://ip:8443' |
| 改 SSH 端口 | gitlab_shell_ssh_port |
| 生效 | gitlab-ctl reconfigure |
如果你愿意,可以告诉我:
我可以给你完全贴合你环境的配置示例。