在開篇之前梳理下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-server

2.2 接下來我們啟用并啟動 sshd:
systemctl enable sshd
systemctl start sshd
2.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=http
2.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 = ipv4

3.2 啟用并啟動 postfix:
systemctl enable postfix
systemctl start postfix
3.3 配置 swap 交換磁區
由于 GitLab 較為消耗資源,我們需要先創建交換磁區,以降低物理記憶體的壓力, 在實際生產環境中,如果服務器配置夠高,則不必配置交換磁區,
3.4 新建 2 GB 大小的交換磁區:
dd if=/dev/zero of=/root/swapfile bs=1M count=2048
3.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=1
4.2 修改完 yum 源,因此先重新生成快取:
(此步驟執行時間較長,一般需要 3~5 分鐘左右,請耐心等待)
yum makecache
4.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環境
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/26600.html
標籤:其他
