温馨提示×

linux gitlab如何换端口

小樊
43
2026-09-16 15:59:09
栏目: 智能运维

在 Linux 上修改 GitLab 的访问端口,通常分为两种情况:HTTP/HTTPS 端口 和 SSH 端口。下面以 Omnibus 版 GitLab(最常见) 为例说明。


一、修改 GitLab HTTP / HTTPS 端口

1. 编辑配置文件

sudo vim /etc/gitlab/gitlab.rb

2. 修改端口(示例改为 8080)

external_url 'http://gitlab.example.com:8080'
# 或
external_url 'http://192.168.1.100:8080'

如果是 HTTPS:

external_url 'https://gitlab.example.com:8443'

⚠️ 注意:external_url 必须带端口,否则不生效。

3. 重新配置 GitLab

sudo gitlab-ctl reconfigure

4. 重启服务(可选)

sudo gitlab-ctl restart

5. 验证

sudo gitlab-ctl status

浏览器访问:

http://服务器IP:8080

二、修改 GitLab SSH 端口(默认 22)

1. 编辑配置文件

sudo vim /etc/gitlab/gitlab.rb

2. 修改 SSH 端口(示例改为 2222)

gitlab_rails['gitlab_shell_ssh_port'] = 2222

如果你 不想修改系统 SSH,这样最安全。

3. 重新配置

sudo gitlab-ctl reconfigure

4. 项目 clone 地址会变成

git@gitlab.example.com:2222/group/project.git

三、如果服务器本身 SSH 端口也改了(非 GitLab 问题)

修改系统 SSH:

sudo vim /etc/ssh/sshd_config
Port 2222
sudo systemctl restart sshd

⚠️ 操作前确保有其它方式能登录服务器,避免断连。


四、防火墙 / 安全组(非常重要)

iptables

sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

firewalld

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

云服务器

在 安全组 中放行对应端口。


五、常见问题

1. 端口被占用

sudo netstat -tunlp | grep 8080

2. 改了不生效

  • 是否执行了 gitlab-ctl reconfigure
  • external_url 是否包含端口

3. Docker 版 GitLab

端口是在 docker run -p 或 docker-compose 中映射的,不是改 gitlab.rb。


如果你能告诉我:

  • ✅ GitLab 安装方式(Omnibus / Docker / 源码)
  • ✅ 想改的是 HTTP 还是 SSH 端口
  • ✅ Linux 发行版(CentOS / Ubuntu)

我可以给你更精确的命令。

0 踩