gitlab修改底部模板文件,重启服务后500错误,多一个root用户下的nginx监听服务

gitlab 版本11.8.2,修改底部模板文件/opt/gitlab/embedded/service/gitlab-rails/app/views/layouts/devise.html.haml,把about_github替换为域名备案号。修改之后重启gitlab,执行gitlab-ctl restart之后,后台管理页面访问500 或502错误,把前面修改的内容该回去之后,重启依然是这个问题,500和502来回切换,无法正常访问。
查看gitlab-ctl status,发现 prometheus服务在run和down来回切换,查看日志如下:

img

查看9090端口监听结果如下:

img

不明原因有2个进程在监听9090端口,正常应该只有一个gitlab-www用户的监听进程才对。

服务器没有单独安装nginx服务,进程里的nginx是gitlab内嵌的nginx。

img

之后多次重启gitlab服务或者重启服务器均无法解决,请求各位指点!

【以下回答由 GPT 生成】

从问题描述中可以看出,出现了500错误和502错误,同时存在一个root用户下的nginx监听服务。下面是解决该问题的步骤:

  1. 撤销修改:首先,需要将之前对底部模板文件的修改撤销,恢复到修改之前的状态。可以通过以下命令来撤销修改:
sudo cp /opt/gitlab/embedded/service/gitlab-rails/app/views/layouts/devise.html.haml{.bak,}

然后,重新启动GitLab服务:

sudo gitlab-ctl restart

如果问题仍然存在,请继续下面的步骤。

  1. 检查日志文件:进入GitLab的日志目录,查看相关的日志文件,可以通过以下命令来查看日志文件:
sudo less /var/log/gitlab/gitlab-rails/production.log

检查日志文件中是否存在与500错误和502错误相关的错误信息。如果有,请将错误信息提供出来,以便进一步分析问题。

  1. 检查prometheus服务状态:由于prometheus服务在run和down状态之间切换,可能是由于该服务的异常引起了问题。可以通过以下命令来查看prometheus服务的状态:
sudo gitlab-ctl status prometheus

如果prometheus服务状态不稳定,可以尝试重启该服务:

sudo gitlab-ctl restart prometheus
  1. 检查9090端口监听:由于发现存在两个进程在监听9090端口,正常情况下只应该有一个gitlab-www用户的监听进程。可以通过以下命令来查看9090端口的监听状态:
sudo netstat -tuln | grep 9090

如果存在两个进程在监听9090端口,可以通过以下步骤来解决问题: - 停止GitLab服务: shell sudo gitlab-ctl stop - 确定存在监听9090端口的进程ID: shell sudo netstat -tuln | grep 9090 - 终止该进程: shell sudo kill <进程ID> - 启动GitLab服务: shell sudo gitlab-ctl start

  1. 检查nginx配置:由于GitLab中存在内嵌的nginx服务,可能是nginx配置的问题导致了500错误和502错误。可以查看GitLab的nginx配置文件,可以通过以下命令来查看该文件:
sudo less /etc/gitlab/gitlab.rb

检查配置文件中与nginx相关的配置项,特别是关于反向代理的配置。确定配置项是否正确,并且没有冲突或错误的配置。

如果以上步骤都不能解决问题,还可以尝试以下操作: - 更新GitLab版本:如果当前使用的是较旧的GitLab版本,尝试更新到最新版本,因为可能存在已知的问题和错误修复。 - 检查服务器资源:确保服务器的CPU、内存和硬盘等资源充足,没有资源不足导致的错误。 - 寻求帮助:如果以上步骤都不能解决问题,可以寻求GitLab官方论坛、社区或者技术支持的帮助,提供详细的错误信息和日志文件,以便他们能够更好地帮助解决问题。

希望以上步骤能够帮助你解决问题。如果还有其他问题,请随时向我提问。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^