我在Ubuntu 14.04服务器上运行Gitlab 8.6,似乎已经搞砸了。访问该网站时,我始终遇到502错误。自从最初安装Gitlab以来,服务器可能还没有重新启动,停电导致服务器重启。现在,由于看起来像端口冲突,我无法启动/重启Gitlab。
我通过源码安装了Gitlab,我没有任何自定义端口配置,并且正在使用NGINX。 nginx -t
表明配置在语法方面似乎是正确的。
当我跑netstat -tupln
时,我看到了Unicorn& Gitlab实例已在运行时分别运行:8080和:80。我怀疑安装了第二个Gitlab实例,它正在启动时运行,当我尝试通过service gitlab restart
运行时,导致正确的实例出现端口冲突。我甚至不确定这是否可能,但我似乎无法弄清楚从哪里开始。每次运行sudo gitlab-ctl reconfigure
或service gitlab start
时,它都会失败,unicorn.stderror.log
会显示绑定错误:8080端口。我尝试将Unicorn服务移动到:8081,但我仍然收到端口绑定错误。
有没有人知道我是如何检测是否有多个Gitlab实例正在运行,并且如果可能的话有可能删除重复的实例?谢谢!
编辑:这是/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
分支上。根据{{3}}
gitlab-shell
和gitlab-workhorse
的版本正确无误
编辑3:我已经达到了Gitlab似乎可以通过删除gitlab-ce
包(https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/8.6-to-8.7.md)进行自我检查的点,但服务器返回404. NGINX,Unicorn,Sidekiq和gitlab-workhorse都说他们正在跑步。我看到unicorn.rb
正在监听:8080,nginx
正在监听0.0.0.0:80和::: 80。我想现在我正在对这个404进行故障排除,希望我能回到我的源代码安装。
答案 0 :(得分:1)
我发现有两个问题导致了我的错误。
首先,我删除了一个" gitlab-ce"已按照此处的说明安装的软件包:https://gitlab.com/gitlab-org/omnibus-gitlab/issues/135。出于某种原因,当我重新启动机器时,我必须重新启动这些服务,以便Gitlab正常运行redis-server
,gitlab
,nginx
。但是,Gitlab确实在此之后开始正确响应。
其次,404错误是由于另一台服务器也在监听该IP地址,导致冲突。
我可能会在未来的新服务器上使用omnibus软件包,但至少会立即解决问题。谢谢你的帮助,SLY!