修改gitlab.rb后执行reconfigure导致gitlab无法启动的解决方法

东明兄 2020-10-22
0条评论 108 次浏览
东明兄 2020-10-220条评论 108 次浏览

在服务器上安装好gitlab后,发现仓库的地址是192.168.xx.xx的内网地址,查阅资料后需要修改 /etc/gitlab/gitlab.rb 文件

找到external_url配置项修改为:

external_url "http://gitlab.example.com"

然后执行以下代码使得修改的设置生效:

sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart

官方文档:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md#configuring-the-external-url-for-gitlab

但是修改后无论是重启gitlab还是重启服务器,服务器上的gitlab站点始终无法打开,甚至还原gitlab.rb文件都不行,搞得我一脸懵逼。

根据报错 排查到是nginx服务没有启动成功,
找到 gitlab 自带的nginx 服务日志文件
路径:/var/log/gitlab/nginx
发现以下报错:

2020-10-18_11:05:47.61934 chpst: fatal: unable to run: /opt/gitlab/embedded/sbin/nginx: file does not exist
2020-10-18_11:05:48.62762 chpst: fatal: unable to run: /opt/gitlab/embedded/sbin/nginx: file does not exist
2020-10-18_11:05:49.63600 chpst: fatal: unable to run: /opt/gitlab/embedded/sbin/nginx: file does not exist

通过查阅资料了解到出现此问题是因为服务器上装了宝塔面板,bt面板把gitlab的nginx启动文件名改成了gitlab-web, 但是运行 gitlab-ctl reconfigure会把一个脚本里的gitlab-web还原回nginx。

打开/opt/gitlab/sv/nginx/run


exec chpst -P /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx

修改为

exec chpst -P /opt/gitlab/embedded/sbin/gitlab-web -p /var/opt/gitlab/nginx

重启服务,搞定~ 又是被折磨的一天

4+

发表评论

电子邮件地址不会被公开。