在开篇之前梳理下GitLab遇到的问题,最近项目代码管理,GitLab安装完成之后发现访问出现502,虽然解决了,觉得还是有必要把遇到的记录下来,所谓,好记性不如烂笔头,踩坑多了就是成长。
什么是GitLab?
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。
在开始之前先来更新下系统,这个可有可无,我这个是最小安装
一,更新系统
yum update -y这个执行中间可能会需要5到10分钟左右,根据自己的网速快慢来决定执行的快慢,大家只需要耐心等待下就好了
二,安装sshd
2.1 安装sshd依赖
yum install -y curl policycoreutils-python openssh-server2.2 接下来我们启用并启动 sshd:
systemctl enable sshd systemctl start sshd2.3 接下来我们配置下防火墙:
打开 /etc/sysctl.conf 文件,在文件最后添加新的一行
net.ipv4.ip_forward = 1我们只需要sysctl.conf在最后添加一行,按下esc 加:wq 保存即可
2.4 启用并启动防火墙:
systemctl enable firewalld systemctl start firewalld这里由于是演示,我这里就把http放行
firewall-cmd --permanent --add-service=http2.5 重启防火墙:
systemctl reload firewalld以上操作步骤:
三,接下来我们在安装 postfix
GitLab 需要使用 postfix 来发送邮件。当然,也可以使用 SMTP 服务器。
3.1 安装postfix
yum install -y postfix打开 /etc/postfix/main.cf 文件,在第 119 行附近找到 inet_protocols = all,将 all 改为 ipv4
inet_protocols = ipv43.2 启用并启动 postfix:
systemctl enable postfix systemctl start postfix3.3 配置 swap 交换分区
由于 GitLab 较为消耗资源,我们需要先创建交换分区,以降低物理内存的压力。 在实际生产环境中,如果服务器配置够高,则不必配置交换分区。
3.4 新建 2 GB 大小的交换分区:
dd if=/dev/zero of=/root/swapfile bs=1M count=20483.5 接下来我们对其格式化
mkswap /root/swapfile swapon /root/swapfile添加自启用。打开 /etc/fstab 文件,在文件最后添加新的一行
/root/swapfile swap swap defaults 0 0四,接下里我们安装git
4.1 安装 GitLab
将软件源修改为国内源 由于网络环境的原因,将 repo 源修改为清华大学 。
在 /etc/yum.repos.d 目录下新建 gitlab-ce.repo 文件并保存。内容如下:
[gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=14.2 修改完 yum 源,因此先重新生成缓存:
(此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待)
yum makecache4.3 安装 GitLab:
(此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待)
yum install -y gitlab-ce五, 初始化 GitLab
5.1 配置 GitLab 的域名(非必需)
打开 /etc/gitlab/gitlab.rb 文件,在第 13 行附近找到 external_url 'http://gitlab.example.com',将单引号中的内容改为自己的域名(带上协议头,末尾无斜杠)
external_url 'http://119.29.102.85'5.2 初始化 GitLab ==特别重要!==
使用如下命令初始化 GitLab:
(此步骤执行时间较长,一般需要 5~10 分钟左右,请耐心等待)
sudo gitlab-ctl reconfigure当看到这个就说明我们gitlab已经安装成功了。
5.3 启动成功之后我们通过浏览器访问下
当我们看到进入我们就可以对我们代码进行管理了。
回到我们开始的话题,有些朋友安装成功后看到的界面可能是这个
这种情况出现的原因:
原因1、8080端口被tomcat占用
解决办法:更换端口
安装tomcat默认的是8080端口,netstat -ntpl查看端口情况 最简单的方式我们就是把8080端口kill掉,然后改下端口号为了避免8080端口冲突问题,可以修改下的默认端口,vim打开/etc/gitlab/gitlab.rb配置文件
执行重新启动
sudo gitlab-ctl reconfigure sudo gitlab-ctl stop sudo gitlab-ctl start相关操作
启动服务:gitlab -ctl start 查看状态:gitlab -ctl status 停掉服务:gitlab -ctl stop 重启服务:gitlab -ctl restart 让配置生效:gitlab -ctl reconfigure
原因2、gitlab占用内存太多,导致服务器崩溃。尤其是使用阿里云服务器最容易出现502
解决办法:默认情况下,主机的swap功能是没有启用的,解决办法是启动swap分区,就是我们上面启用的这里就不再过多解释了
以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。
相关博客
简书原文博客:CentOS 7手把手教你搭建gitlab环境掘金原文博客:CentOS 7手把手教你搭建gitlab环境