尝试使用最新版本的 gitlab,我对它的配置过程(或者更确切地说是它的“嵌入式包”)感到有些绝望。
我已经在我的 Ubuntu 服务器 14.04 上安装了 gitlab-omnibus 包(版本 7.4.3),该服务器还运行用于其他内容的 apache;因此我想更改 gitlab 正在运行的端口。
据称,这一切都可以通过编辑 /etc/gitlab/gitlab.rb 来完成,在末尾添加端口号,如下所示:
external_url='http://myurl:myport'
然后运行
sudo gitlab-ctl reconfigure
嗯,这不起作用。nginx 仍然想连接到端口 80,作为
gitlab-ctl tail nginx
喷出:
date&time [emerg] 31321#0: bind() to 0.0.0.0:80 failed (98: Address already in use)
在网上搜索,我发现了很多关于此类问题的提及,以及许多需要编辑的文件(例如,参见这个其他问题:https://serverfault.com/a/587800/151655)。到目前为止,我发现唯一真正起作用的方法是更改文件中的端口/var/opt/gitlab/nginx/conf/gitlab-http.conf
;但显然这种更改只会持续到下次运行gitlab-ctl reconfigure
。那么有什么方法可以使这种更改生效,还是我需要避免运行gitlab-ctl reconfigure
或每次都进行手动调整?
顺便说一句,我发现即使网络端口的实际绑定失败,gitlab-ctl start
也没有报告任何异常(就像一切正常一样),这让我很恼火。我是不是漏掉了什么,还是这只是可用性很差?
答案1
答案似乎很简单——我最初/etc/gitlab/gitlab.rb
因为 中的一些错误而更改了gitlabctl reconfigure
;但是当前的语法不正确(但显然被忽略了,并且没有导致错误);我正在使用external_url='http://myurl:myport'
,但显然
external_url "http://myurl:myport"
必须要用,才有效!