最初原因是虚拟机突然宕机,导致跑在虚拟机上的gitlab容器也突然停止服务。

后来联系了运维把虚拟机重新启动,能ssh链接了,但是gitlab还是无法服务,报错信息为503。

#docker exec -it containID /bin/bash     进入到虚拟机

#gitlab-ctl restart                                   重启gitlab所有服务

#gitlab-ctl status                                    查看当前的服务状态

发现有一个gitaly服务一直没有启动:

于是在网上搜索答案,原来是因为突然断电导致gitaly.pid以文件的方式一直保存在磁盘上了,

而重启gitaly时却读取这个pid来判断是否已经启动。

解决方法就是删除gitaly.pid文件

#cd /var/opt/gitlab/gitaly

# ls

# rm -rf gitaly.pid                           删除pid文件

# gitlab-ctl restart                          重启所有服务

这样等几分钟即可访问,503问题将消失不见。

通过这次排查,首先要通过gitlab-ctl status知道gitlab的哪个服务不工作。

然后根据它的状态为down的服务找原因。

是因为配置不对,还是因为pid重复等等,这才是正确的逻辑。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐