Gitlab 端口 80 和 8080 由单独的 Gitlab 实例占用?

Gitlab ports 80 & 8080 taken by a separate Gitlab instance?

我在 Ubuntu 14.04 服务器上安装了 Gitlab 8.6 运行ning,但似乎已经搞砸了。我在访问网站时总是收到 502 错误。服务器可能自最初安装 Gitlab 以来还没有重新启动,并且断电导致服务器重新启动。现在,由于似乎是端口冲突,我无法 start/restart Gitlab。

我通过源代码安装了 Gitlab,我没有任何自定义端口配置,并且正在使用 NGINX。 nginx -t 表明配置在语法方面似乎是正确的。

当我 运行 netstat -tupln 时,我看到 Unicorn 和一个 Gitlab 实例在启动时已经 运行 分别在 :8080 和 :80 上运行。我怀疑安装了 Gitlab 的第二个实例,它在启动时是 运行,当我尝试通过 service gitlab restart 运行 时,这导致正确的实例发生端口冲突。我什至不确定这是否可能,但我似乎无法弄清楚从这里去哪里。每次我 运行 sudo gitlab-ctl reconfigureservice gitlab start,它都会失败并且 unicorn.stderror.log 显示到 :8080 端口的绑定错误。我也尝试将 Unicorn 服务移动到 :8081,但我仍然收到端口绑定错误。

有谁知道我如何检测是否有多个 Gitlab 实例 运行ning,如果可能的话,也许有办法删除重复的实例吗?谢谢!

编辑:这是 /etc/gitlab/gitlab.rb 文件中的内容。其他一切都被注释掉了。

## Url on which GitLab will be reachable external_url 'http://my-gitlab-instance.domain.com'

编辑 2:我的 /home/git/gitlab/ 目录映射到 https://gitlab.com/gitlab-org/gitlab-ce.git,并且在 8-7-stable 分支上。 gitlab-shellgitlab-workhorse 根据 https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/8.6-to-8.7.md

是正确的版本

编辑 3:我已经到了 Gitlab 似乎可以通过删除 gitlab-ce 包(https://gitlab.com/gitlab-org/omnibus-gitlab/issues/135)进行自我检查的地步,但是服务器 returns 一个 404 . NGINX、Unicorn、Sidekiq 和 gitlab-workhorse 都说他们 运行ning。我看到 unicorn.rb 正在监听 :8080,而 nginx 正在监听 0.0.0.0:80 和 :::80。我想我现在正在解决这个 404 问题,希望我能回到我的源安装。

我发现有 2 个问题导致了我的错误。

首先,我按照此处的说明删除了已安装的 "gitlab-ce" 软件包:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/135。出于某种原因,当我现在重新启动机器时,我必须重新启动这些服务,以便 Gitlab 正确 运行 redis-servergitlabnginx。但是,Gitlab 确实在那之后开始正确响应。

其次,404 错误是由于另一台服务器也在侦听该 IP 地址,导致冲突。

以后我可能会在全新的服务器上使用综合包,但至少眼前的问题似乎已经解决。谢谢你的帮助,狡猾!