1核2GB内存的低配学生服务器安装GitLab教程


我的学生服务器配置

腾讯云服务器Ubuntu 18.04 bionic
标准型S2/1核/2GB/1Mbps

在内存爆掉,重启服务器,停止服务,十几次尝试后终于愉快的让GitLab运行了起来


GitLab

GitLab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。可以理解为Github的私服版作为自用或者公司内部的代码管理平台。

GitLab官方硬件要求:

建议服务器最低配置:

官网给出的推荐配置:

网上对配置有很多说法,有的说3GB内存可以勉强跑起来,有的说至少给gitlab分4GB内存,学生党的2GB根本没法看啊,一开始不知道这么吃内存,每次一安装完就卡死,还以为安装流程有问题,经过很多尝试终于在自己可怜的学生服务器上运行起来了。

安装教程

官网给出的ubuntu服务器gitlab企业版安装教程,里面还有其它种类服务器的安装教程和安装资源,可以下载安装包离线安装,下面的是ubuntu在线安装过程

安装依赖

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

安装Postfix

Postfix用来发送通知电子邮件,在Postfix安装期间,可能会出现配置屏幕。选择“Internet Site”并按Enter键。使用服务器的外部DNS作为“邮件名称”,然后按Enter键。如果出现其他屏幕,请继续按Enter键接受默认值。(我只按回车了,并不影响安装)

sudo apt-get install -y postfix

添加gitlab官方源

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

安装gitlab

tip:gitlab-ce是免费的社区版,gitlab-ee是付费的企业版

下面my ip address改为为gitlab设置的url,比如(https://服务器外网地址或绑定的域名:端口)

sudo EXTERNAL_URL="https://my ip address" apt-get install gitlab-ce

这里配置如果够,就可以访问https://my ip address进入gitlab管理页面了,可以跳转到《运行以后》

如果配置不够,3分钟gitlab所有服务运行以后,内存就应该爆掉了,停止gitlab后,进行优化

停止gitlab

下面命令只有gitlab在运行的时候才会起作用,不运行的时候会返回fail,内存爆掉也会不响应

sudo gitlab-ctl stop

如果内存爆掉输入命令没有响应,只能重启以后在gitlab没有完全撑爆内存的时候执行

服务器重启

  • 如果服务器还对重启指令有反应

    sudo reboot
    
  • 彻底没反应了

    服务器管理页面强制重启或者物理强制重启


优化

降低gitlab配置

修改配置文件

sudo vi /etc/gitlab/gitlab.rb
删除#号取消以下设置的注释,并修改参数

tip:vi编译器中搜索的方法: 命令模式下,输入/字符串,按下回车,得到搜索的结果,按n键切换搜索结果

1.减少进程数,修改worker_processes:

官方建议CPU核心数加一,最小值是2

unicorn['worker_processes'] = 2
2.减少数据库缓存

可适当改小

postgresql['shared_buffers'] = "256MB"
3.减少数据库并发数

可适当改小

postgresql['max_worker_processes'] = 8
4.减少sidekiq并发数

可适当改小

sidekiq['concurrency'] = 25

添加swap分区(虚拟内存)

Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

创建一个连续空间

dd if=/dev/zero of=/data/swap bs=512 count=8388616

创建swap分区

mkswap /data/swap

启动swap分区

swapon /data/swap

在/etc/fstab文件中记录文件的名字,使系统重启后,swap依然有效

echo “/data/swap swap swap defaults 0 0” >> /etc/fstab

查看swap分区是否启动

cat /proc/swaps

重加载gitlab配置

sudo gitlab-ctl reconfigure

启动gitlab

sudo gitlab-ctl start

利用free -m查看内存发现,gitlab在运行服务的时候就已经占用2.47g的内存了

运行以后

启动服务3分钟以后

1.访问ip address登录控制页面

2.首次登陆强制更改密码,输入密码和确认密码

3.到达登录界面

  • 账户名:root
  • 密码:更改的密码

遇到的坑

启动以后502

【解决方案】
1.启动服务以后等待几分钟再访问
2.修改冲突的端口号
3.内存不足导致一些服务崩了,用优化方法优化

运行感觉不是很流畅

换成谷歌或者火狐浏览器会感觉好很多


其它

gitlab取消注册,只允许管理员添加

低配置服务器安装GitLab相关推荐

  1. Blackhat兵器谱新添IOT安全武器 低配置也能高性能运行

    本文讲的是Blackhat兵器谱新添IOT安全武器 低配置也能高性能运行,在这届BlackHat会议上,Tripwire的首席安全研究员特拉维斯·史密斯(Travis Smith)将会发布一款开源的网 ...

  2. 计算机系统的优化具体操作,win7系统优化提升低配置电脑运行速度的详细技巧...

    低配置电脑运行win7系统不流畅时,如何win7系统优化提升低配置电脑运行速度?怎么设置呢?下面小编就跟大家分享win7系统优化提升低配置电脑运行速度的详细技巧. win7系统优化提升低配置电脑运行速 ...

  3. 低配置的电脑也可以装tensorflow2

    1.下载Anaconda 上面三步的链接,也是不错的tf2的学习资料,朋友推荐的,还在学习中. 2.处理Bug 遇到的第一个问题:安装tensorflow2太慢了.那个稍等片刻,真的不是片刻,是很久很 ...

  4. 电脑配置低android模拟器,安卓模拟器低配置版哪个好 电脑内存再小也不怕

    现在安卓模拟器作为安卓文件在电脑上运行的辅助工具,使用率非常高,不过有一些用户表示自己的电脑配置比较低,使用一些较为热门的模拟器可能会比较卡,不好用,那么下面小编就为大家推荐一番. 安卓模拟器低配置版 ...

  5. android x86 最低内存,安卓模拟器低配置版哪个好 电脑内存再小也不怕卡

    现在安卓模拟器作为安卓文件在电脑上运行的辅助工具,使用率非常高,不过有一些用户表示自己的电脑配置比较低,使用一些较为热门的模拟器可能会比较卡,不好用,那么下面小编就为大家推荐一番. 安卓模拟器低配置版 ...

  6. 低配本用win10服务器系统,低配电脑用win7还是win10比较好_低配置电脑装win7还是win10系统合适...

     对于一些比较低配置的电脑,很多用户不知道要用win7系统还是win10系统比较好,其实这两个系统配置没有差很多,主要还是得根据自己电脑的时机配置并结合官网给出的最低配置要求来选择,下面就给大家分享 ...

  7. 低配置的电脑应该用哪个系统?

    低配置的电脑其实还是比较适合装Win7,比较稳定,Win7经典的旗舰版可以满足用户的日常办公使用需求.你可以选择一键重装Win7系统.石大师系统重装最新版下载_石大师一键重装官方下载 - 系统之家 重 ...

  8. gta4光影补丁_GTA4低配置优化版ENB光影补丁

    GTA4低配置版高清真实效果ENB光影补丁 V0.0815☆★ [低中端机器使用] [测试配置] AMD双核5000+ 2GB内存 256MB显卡 无抗锯齿,1280X960分辨率,模型中,水面高,其 ...

  9. 低配置高自由度游戏_高/低游戏

    低配置高自由度游戏 #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<pr ...

  10. 低配本用win10服务器系统,杜宇低配置的电脑到底是安装win10系统好还是选择win7操作系统更好一点呢...

    导语:我们在准备给自己的电脑安装操作系统的时候,有的小伙伴可能就在纠结,如果是低配的电脑装win10流畅还是win7流畅.下面白豆芽就和大家详细解读杜宇低配置的电脑到底是安装win10系统好还是选择w ...

最新文章

  1. Intent、Bundle
  2. DISCUZ 品牌空间恼人的游客评论名称Guest修改记录
  3. iOS使用自定义字体(添加字体包)
  4. 很装b那种cmd命令_简单电脑CMD命令
  5. 2017初级计算机试题,计算机基础知识试题(卷)与答案解析 2017年.doc
  6. PostgreSQL的notify 与listen (三)
  7. Jira配置LDAP实现统一认证
  8. SQL Server~T-SQL编程基础
  9. element table相同数据行合并
  10. 装备仿真模拟推演训练系统软件
  11. 梅宏院士:大数据技术的四大挑战与十大趋势
  12. Netstat命令使用方法
  13. 强化学习Q-Learning解决FrozenLake例子(Python)
  14. phpMyAdmin 常见漏洞利用记录
  15. 整合Springboot+Vue(基础框架)
  16. 在MAC下,使用anaconda,解决python画图时中文乱码
  17. vivado 配置matlab,Matlab vivado
  18. python实现全盘扫描搜索功能
  19. eclipse 项目 有个红叉 解决方法
  20. 深度学习(一)深度学习简介以及常用算法

热门文章

  1. echarts 地图自定义图标_echarts 地图自定义图标Symbol 及其颜色
  2. 福建将乐窑文物首次系统对外展示 133件完整器亮相京城
  3. java学习笔记第三周(二)
  4. ecshop模板支持php,解决ecshop模板不支持php代码,修改ecshop过滤模板php代码!
  5. 怎么用python制作随机点名软件_利用Python实现课堂点名器!辅导员大大的夸赞了我!...
  6. #GeekPoint# 苹果的 AR 眼镜
  7. 面试官没想到我对redis数据结构这么了解,直接给offer
  8. 学习并掌握结构化写作方法,提高写作能力 ——结构化写作学习笔记(1)
  9. Effective C++改善程序与设计的55个具体的做法
  10. macOS 13 Ventura系统自动开机在哪设置?