低配置服务器安装GitLab

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


我的学生服务器配置

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

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


GitLab

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

GitLab官方硬件要求

建议服务器最低配置:

  • 2核 2G以上内存(不包含2GB,2GB内存运行的时候内存直接爆掉)

官网给出的推荐配置:

  • 4核 4GB内存 支持500个用户
  • 8核 8GB内存 支持1000个用户

网上对配置有很多说法,有的说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. 首先,使用SSH登录到你的服务器。你可以使用命令`ssh username@服务器IP地址`来进行登录,其中`username`是你的用户名,`服务器IP地址`是你的服务器的IP地址。 [2-02] 2. 接下来,创建一个文件夹来存储GitLab配置文件和数据。你可以使用命令`mkdir /opt/docker_gitlab`来创建一个名为`/opt/docker_gitlab`的文件夹。 [2-03] 3. 然后,创建一个`docker-compose.yml`文件,并将以下内容复制到文件中: ```yaml version: '3.1' services: gitlab: image: 'twang2218/gitlab-ce-zh:11.1.4' container_name: "gitlab" restart: always privileged: true hostname: 'gitlab' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://服务器IP地址' gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['smtp_enable'] = true gitlab_rails['gitlab_shell_ssh_port'] = 22 ports: - '80:80' - '443:443' - '22:22' volumes: - /opt/docker_gitlab/config:/etc/gitlab - /opt/docker_gitlab/data:/var/opt/gitlab - /opt/docker_gitlab/logs:/var/log/gitlab ``` 请确保将`服务器IP地址`替换为你的服务器的实际IP地址。这个`docker-compose.yml`文件使用了Docker Compose来定义GitLab容器的配置。它指定了使用的镜像版本,容器的名称和其他配置选项,包括端口映射和卷挂载。 4. 保存并关闭`docker-compose.yml`文件。 5. 现在,使用命令`docker-compose up -d`来启动GitLab容器。这将下载所需的镜像并启动容器。 `-d`选项将容器设置为在后台运行。 [2-06] 6. 一旦容器启动完成,你可以访问`http://服务器IP地址`来访问GitLab的Web界面。在首次访问时,你需要设置管理员账号和密码。 恭喜!你已经成功在服务器安装GitLab。现在你可以使用GitLab来进行代码托管和团队协作了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值