在 Debian 上配置 GitLab 的端口,主要取决于你是修改外部访问端口(如 80 / 443),还是修改 GitLab 内部服务端口(如 SSH、Registry 等)。下面按常见场景说明。
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com:8080'
或直接用 IP:
external_url 'http://192.168.1.100:8080'
external_url 'https://gitlab.example.com:8443'
⚠️ 注意:只要改了
external_url里的端口,GitLab 会自动改 Nginx 监听端口
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
如果你系统 SSH 已经是 22,GitLab 也用 22 会冲突。
gitlab_rails['gitlab_shell_ssh_port'] = 2222
sudo gitlab-ctl reconfigure
git@gitlab:user/repo.git -p 2222
如果你不想改 external_url,可以手动指定:
nginx['listen_port'] = 8080
nginx['listen_https'] = false
然后:
sudo gitlab-ctl reconfigure
sudo ufw allow 8080/tcp
sudo ufw allow 2222/tcp
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
如果是 Docker:
docker run -d \
-p 8080:80 \
-p 2222:22 \
gitlab/gitlab-ee
✅ external_url 一定要写完整(含协议和端口)
✅ 改端口后必须 gitlab-ctl reconfigure
✅ 云服务器还要在安全组放行端口
✅ 修改 SSH 端口后,clone 命令要带端口
如果你愿意,可以告诉我:
我可以直接给你一份精确配置。