美文网首页
群晖gitlab出现502错误

群晖gitlab出现502错误

作者: gulu210 | 来源:发表于2018-01-20 15:30 被阅读0次

    故事发生起因

    在ds218+上搭了个gitlab,安装后使用起来一直不是很愉快,ds218+只有2g的内存,gitlab经常502错误,所以觉得升级内存。但是这段时间内存价格一直非常坚挺,咬咬牙就买了根三星的2g内存。昨天内存终于到货,晚上趁去洗衣机里扔需要洗的衣服的时间,偷偷把内存加了进去,为什么要偷偷呢?因为最近家里财务紧张,买内存是瞒着老婆的。。。但是,人生总有这么多但是,加入内存开机发现起不来了,内存不兼容了,说好的ddr3l 1600基本都兼容的呢!只好决定把内存拆出来,第二天申请退货了。又但是,长按电源键关机后又马上自动启动了啊。。。试了几次都这样,只好强拔电源,知道这样风险很大,但没办法啊,起又起不来,还关不掉。。。拆掉内存开机成功启动,也可成功进去系统,资料也都没啥问题,各个软件也都没啥问题,人品还是不错的。可怕的但是还是出现了,第二天上班干活,发现gitlab连不上了。。。502了。。。这个502不是因内存不足而暂时引起的502啊。。。这个502就这么发生了啊!

    事已至此,解决办法

    在我脑海里第一个办法是最粗暴的,重新安装。但是里面的项目咋办呢?平时也没做备份啊。其实是因为gitlab安装在docker中不知道怎么备份。现在备份还来得及,现学吧。

    如何进入docker终端

    进入nas系统,打开docker,找到gitlab容器打开,然后点击“终端机”。 QQ20180120-112252@2x.png

    打开后发现终端一直打印log,先不管这个,下面再说这个log是啥。再新增一个终端,这样就成功进入gitlab所在容器的终端了。其实这个就是虚拟机,里面就是个Linux的系统,这样就好办了。

    备份

    在终端中进入/home/git/gitlab/bi目录,然后输入./rake gitlab:backup:create,这样就开始备份了,人品不错,备份成功了,备份文件可以进入群晖系统的file station,在docker文件夹下的gitlab/backups下找到。

    还原备份

    重新安装好gitlab后,还是在终端中进入/home/git/gitlab/bi目录,输入sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production BACKUP=1508401391_2017_10_19_9.3.7后面的数字就是备份文件的前缀,记得先把备份文件放入新的gitlab的backups目录下。然后按理说应该可以恢复到之前的状态了。
    但是啊,像我这么懒的人肯定不会重新安装的,所以还原备份这一步我也没事,这个是打算到后面真没办法了再试的,毕竟这么一折腾又是大半天时间没了,而且还不一定顺不顺利,但是备份那一步我验证过了,没问题,希望大家今后也不需要去验证还原这一步有没有问题。

    最终解决方法

    还记得刚刚进入终端的时候已经有个终端再不停的输出日志了吗?日志内容参考上图。网上找了一下,说是端口被占用了,所以unicorn起不来了。

    查看端口是否被占用

    在容器中,gitlab使用的是22和80这两个端口,在终端中输入lsof -i:80发现已经有个nginx启动并占用了80端口,这里有两个方案:1是关掉这个占用了80端口的nginx,2是修改unicorn端口。我是直接关掉了nginx,关掉该进程方法kill -9 xxxxxx为lsof -i:80查出来的pid。

    在群晖的套件中心中重启gitlab

    打开浏览器,进入gitlab,终于不是502了。

    快递小哥来了,把不兼容的内存退回去,看其他淘宝店,我买的这三星内存按其他淘宝店上的介绍说是山寨的。。。上面举例的山寨内存特点样样符合,看来是不能买便宜的,2g 69人民币。。。还是等过了年有钱了再弄根4g的吧。

    相关文章

      网友评论

          本文标题:群晖gitlab出现502错误

          本文链接:https://www.haomeiwen.com/subject/oqdtaxtx.html