最初原因是虚拟机突然宕机,导致跑在虚拟机上的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

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐