/ 开发笔记

不作死就不会死!1G内存虚拟主机安装Gitlab的悲剧及拯救过程

最近影子工作室搞了个阿里云的ECS,对,性价比最高的那个,1CPU + 1G内存,用nginx+ghost跑个工作室官网还是没问题的。

折腾完官网以后,我又开始考虑能不能再多利用一下这个资源,比如,在上边搭一个gitlab?这样就可以省下github的每个月7美元的订阅费了。
38882190

吐个槽,这个github的市场莫非也是程序员在做,包年预付居然一点折扣都没有。

闲话少说,说干就干,上gitlab网站看看安装流程,然而,网站上赫然写着:

推荐4G以上内存

39028496

啥?
我这台机器就这么被鄙视了?

话说,我们就这么点人,要管理的项目也非常少,内存小一些大概也没有关系吧……

我心底升起一股侥(zuo)幸(si)的想法。

按照官网的流程,在Ubuntu上安装Gitlab还是很简单的:

  1. 安装依赖应用 openssh和postfix

sudo apt-get install -y curl openssh-server ca-certificates

sudo apt-get install -y postfix

  1. 添加gitlab包并安装

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce

  1. 搞定,通过浏览器访问你的gitlab网站。

3步搞定,so easy ~

说干咱就干!不管三七二十一,就是一顿捣鼓。

虽然中间因为网速问题,gitlab的包下载的有那么一点点慢,370M的包,花了几个小时才下载完。

不过,好歹可以安装了。

一边看着安装的进度条,我心里一边盘算着又节省了多少开支:

每个月7美元,换算成人民币是,7x6.5,每月大概45块钱,一年就是540块,两年就是1080,三年就是……

矮油,装完了!

我仿佛听到了数钱的声音,好像赚了几个亿,刷刷刷,刷刷刷,多美妙~

41977064

哎哎,好像有什么地方不对……
42086844

机器怎么反应这么慢……

输入的指令半天才显示出来……

啊……掉……线……了……

重……新……登……录……

输……入……密……码……

登……录……失……败……

什么情况?!!我心底有一股不祥的预感,连忙打开网站。

妈蛋,网站打不开了!
42116184

淡定!

祭出必杀技:重启。

重……启……中……

经过了大概几个世纪,终于

重……启……完……毕……

登…………录…………

输……入……密……码……

登……录……失……败……

重……新……登……录……

输……入……密……码……

登……录……成……功……

然而,

依然……慢……慢……慢……

网站依然……打……不……开……

我这个暴脾气啊¥%¥#一下就上来了!
42151684

淡定,一定要淡定!

ping一下,没问题啊。

可能,也许,大概,gitlab真的不能装在1G内存的机器上?

搜了一下gitlab的一些指令:
先查看一下状态:

sudo gitlab-ctl status

-bash: fork: Cannot allocate memory
(无法分配内存!)

我的心咯噔一下……不会什么指令都操作不了吧。
算了,直接停止吧。

sudo gitlab-ctl stop

整个世界一下快起来了
41058757

既然不能用,还是赶紧把这个惹麻烦的家伙赶出门吧。
搜搜怎么卸载,倒是不麻烦:

40513744

由于我还没有开始使用gitlab,所以,只需要第1步就好了,顶多再执行第4步删除安装包。

sudo gitlab-ctl uninstall
sudo dpkg -P gitlab-ce

一切都顺利的不像话!
41132729

今天的事故到此结束
谢谢大家的光看

55680986
没有彩蛋

没有彩蛋

没有彩蛋

真的没有彩蛋

哎~,网站为什么还是没反应!!
41195698

为什么!

为什么!!

为什么!!!

瞬间化身为十万个为什么

41293463

淡定……淡定……

尝试重启nginx:

sudo systemctl restart nginx

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

失败!!
42305440

我依稀记得,gitlab好像是自带nginx的,不会是跟我原本安装的那个冲突了吧?
查看一下nginx的进程:

ps -ef|grep nginx

root 1592 1589 0 23:27 ? 00:00:00 runsv nginx
root 1618 1592 0 23:27 ? 00:00:00 svlogd -tt /var/log/gitlab/nginx
root 1619 1592 0 23:27 ? 00:00:00 nginx: master process /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
gitlab-+ 1637 1619 0 23:27 ? 00:00:00 nginx: worker process
gitlab-+ 1639 1619 0 23:27 ? 00:00:00 nginx: cache manager process

果然有好多,而且不是我之前装的那个。

直接kill吧。

kill 1592
kill 1589

这下整个世界真的清净了。

41639009

再次启动nginx

sudo systemctl restart nginx

网站回来了!

38671577

关机!
睡觉!!
债见!!!
一气呵成!!!!

41863866


我是阿斌,欢迎关注我的公众号【阿斌的日常】,一起开心做游戏。
如果你有什么想法,也可以给我留言哦。
qc_unitymvp