要使用 Nginx 将 GitLab 配置为通过自定义端口访问,并且可以通过域名进行访问,你需要按照以下步骤操作:
第一步:安装 GitLab
如果你还没有安装 GitLab,可以通过其官方安装脚本进行安装:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce
请将 gitlab.example.com
替换为你的实际域名。
第二步:配置 GitLab
-
编辑 GitLab 的配置文件
/etc/gitlab/gitlab.rb
。sudo nano /etc/gitlab/gitlab.rb
-
找到
external_url
配置项,修改为你的域名和新端口,例如:external_url 'http://gitlab.example.com:8888'
-
保存并关闭文件,然后重新配置 GitLab:
sudo gitlab-ctl reconfigure
第三步:安装 Nginx
如果你的服务器上还没有安装 Nginx,可以通过以下命令安装:
sudo apt-get update
sudo apt-get install nginx
第四步:配置 Nginx
-
创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/gitlab
-
添加以下配置内容:
server { listen 80; server_name gitlab.example.com; location / { proxy_pass http://localhost:8888; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
请确保
proxy_pass
中的端口与 GitLab 配置文件中的external_url
端口一致。 -
启用站点并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx
第五步:更新 DNS 设置
确保你的域名 gitlab.example.com
指向你的服务器的 IP 地址。这通常在你的域名注册商处进行设置。
第六步:测试访问
现在,你应该可以通过 http://gitlab.example.com
访问你的 GitLab 实例了。
确保所有配置正确无误,Nginx 与 GitLab 正常运行。如果遇到任何问题,检查 Nginx 和 GitLab 的日志文件以诊断问题。