在 Linux 上配置 GitLab 的端口,通常分几种情况:修改 Web 访问端口(HTTP/HTTPS)、SSH 端口,或 对外端口(如 Docker / 防火墙)。下面按常见场景说明。
sudo vi /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
sudo netstat -tunlp | grep nginx
# 或
sudo ss -tunlp | grep nginx
sudo vi /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_shell_ssh_port'] = 2222
如果系统 SSH 已占用 22,可改 Nginx 层不改系统 SSH:
# 不改系统 sshd
sudo gitlab-ctl reconfigure
git clone ssh://git@gitlab.example.com:2222/group/project.git
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
sudo ufw allow 8080/tcp
sudo ufw allow 2222/tcp
docker run -d \
--name gitlab \
-p 8080:80 \
-p 8443:443 \
-p 2222:22 \
gitlab/gitlab-ee
并在 gitlab.rb 中:
external_url 'http://宿主机IP:8080'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
sudo lsof -i:80
关闭占用程序或修改 GitLab 端口
external_url 是否一致nginx['listen_port'] = 8080
但仍建议用 external_url
如果你能告诉我:
我可以给你精确配置示例。