不作死就不会死!1G内存虚拟主机安装Gitlab的悲剧及拯救过程
最近影子工作室搞了个阿里云的ECS,对,性价比最高的那个,1CPU + 1G内存,用nginx+ghost跑个工作室官网还是没问题的。
折腾完官网以后,我又开始考虑能不能再多利用一下这个资源,比如,在上边搭一个gitlab?这样就可以省下github的每个月7美元的订阅费了。
吐个槽,这个github的市场莫非也是程序员在做,包年预付居然一点折扣都没有。
闲话少说,说干就干,上gitlab网站看看安装流程,然而,网站上赫然写着:
推荐4G以上内存
啥?
我这台超高性价比机器就这么被鄙视了?
话说,我们就这么点人,要管理的项目也非常少,内存小一些大概也没有关系吧……
我心底升起一股侥(zuo)幸(si)的想法。
按照官网的流程,在Ubuntu上安装Gitlab还是很简单的:
- 安装依赖应用 openssh和postfix
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix
- 添加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
- 搞定,通过浏览器访问你的gitlab网站。
3步搞定,so easy ~
说干咱就干!不管三七二十一,就是一顿捣鼓。
虽然中间因为网速问题,gitlab的包下载的有那么一点点慢,370M的包,花了几个小时才下载完。
不过,好歹可以安装了。
一边看着安装的进度条,我心里一边盘算着又节省了多少开支:
每个月7美元,换算成人民币是,7x6.5,每月大概45块钱,一年就是540块,两年就是1080,三年就是……
矮油,装完了!
我仿佛听到了数钱的声音,好像赚了几个亿,刷刷刷,刷刷刷,多美妙~
哎哎,好像有什么地方不对……
机器怎么反应这么慢……
输入的指令半天才显示出来……
啊……掉……线……了……
重……新……登……录……
输……入……密……码……
登……录……失……败……
什么情况?!!我心底有一股不祥的预感,连忙打开网站。
妈蛋,网站打不开了!
淡定!
祭出必杀技:重启。
重……启……中……
经过了大概几个世纪,终于
重……启……完……毕……
登…………录…………
输……入……密……码……
登……录……失……败……
重……新……登……录……
输……入……密……码……
登……录……成……功……
然而,
依然……慢……慢……慢……
网站依然……打……不……开……
我这个暴脾气啊¥%¥#一下就上来了!
淡定,一定要淡定!
ping一下,没问题啊。
可能,也许,大概,gitlab真的不能装在1G内存的机器上?
搜了一下gitlab的一些指令:
先查看一下状态:
sudo gitlab-ctl status
-bash: fork: Cannot allocate memory
(无法分配内存!)
我的心咯噔一下……不会什么指令都操作不了吧。
算了,直接停止吧。
sudo gitlab-ctl stop
整个世界一下快起来了
既然不能用,还是赶紧把这个惹麻烦的家伙赶出门吧。
搜搜怎么卸载,倒是不麻烦:
由于我还没有开始使用gitlab,所以,只需要第1步就好了,顶多再执行第4步删除安装包。
sudo gitlab-ctl uninstall
sudo dpkg -P gitlab-ce
一切都顺利的不像话!
今天的事故到此结束
谢谢大家的光看
没有彩蛋
没有彩蛋
没有彩蛋
真的没有彩蛋
哎~,网站为什么还是没反应!!
为什么!
为什么!!
为什么!!!
瞬间化身为十万个为什么
淡定……淡定……
尝试重启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.
失败!!
我依稀记得,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
这下整个世界真的清净了。
再次启动nginx
sudo systemctl restart nginx
网站回来了!
关机!
睡觉!!
债见!!!
一气呵成!!!!
我是阿斌,欢迎关注我的公众号【阿斌的日常】,一起开心做游戏。
如果你有什么想法,也可以给我留言哦。