如何在CentOS?7上搭建GitLab服務(wù)器(完整指南)
前言

GitLab是一個(gè)強(qiáng)大的DevOps平臺(tái),集代碼托管、CI/CD、項(xiàng)目管理于一體。本文將詳細(xì)介紹在CentOS 7上搭建GitLab企業(yè)級(jí)服務(wù)器的完整流程,包含關(guān)鍵配置和避坑指南。
一、環(huán)境準(zhǔn)備
1.1 系統(tǒng)要求
- 最低配置:
- 4核CPU / 4GB內(nèi)存(推薦8GB+)
- 50GB+磁盤空間
- CentOS 7.6+(64位)
?? 注意:內(nèi)存不足會(huì)導(dǎo)致GitLab運(yùn)行緩慢甚至崩潰!
服務(wù)器配置參考:
| 場(chǎng)景 | CPU | 內(nèi)存 | 存儲(chǔ) |
|---|---|---|---|
| 小型團(tuán)隊(duì) | 4核 | 8GB | 100GB |
| 中型企業(yè) | 8核 | 16GB | 500GB |
| 大型部署 | 16核 | 32GB | 1TB+ |
1.2基礎(chǔ)服務(wù)配置
# 安裝SSH服務(wù)、curl工具和系統(tǒng)管理工具 sudo yum install -y curl policycoreutils-python openssh-server # 設(shè)置SSH服務(wù)開機(jī)自啟動(dòng) sudo systemctl enable sshd # 啟動(dòng)SSH服務(wù)(允許遠(yuǎn)程連接) sudo systemctl start sshd # 安裝防火墻管理工具 sudo yum install firewalld systemd -y # 啟動(dòng)防火墻服務(wù) sudo systemctl start firewalld # 添加HTTP服務(wù)到防火墻(--permanent表示永久生效) sudo firewall-cmd --permanent --add-service=http # 添加HTTPS服務(wù)到防火墻 sudo firewall-cmd --permanent --add-service=https # 添加SSH服務(wù)到防火墻 sudo firewall-cmd --permanent --add-service=ssh # 重新加載防火墻配置(使更改生效) sudo systemctl reload firewalld # 安裝郵件服務(wù)(用于GitLab通知) sudo yum install postfix -y # 設(shè)置郵件服務(wù)開機(jī)自啟動(dòng) sudo systemctl enable postfix # 啟動(dòng)郵件服務(wù) sudo systemctl start postfix # 安裝vim編輯器(配置文件修改) sudo yum install -y vim # 安裝wget下載工具(獲取安裝包) sudo yum install -y wget
二、GitLab安裝與配置
2.1 使用國(guó)內(nèi)鏡像加速安裝
# 下載清華鏡像站提供的GitLab RPM包(版本14.3.2) wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.3.2-ce.0.el7.x86_64.rpm # 使用RPM包管理器安裝GitLab rpm -i gitlab-ce-14.3.2-ce.0.el7.x86_64.rpm
2.2 關(guān)鍵配置修改
# 編輯GitLab主配置文件 vim /etc/gitlab/gitlab.rb
進(jìn)入gitlab.rb文件后,查找內(nèi)容
# 修改以下配置項(xiàng)(示例): #external_url ‘http://IP:Port' #external_url ‘http://域名' external_url 'http://your-server-ip:1000' # 使用自定義端口 gitlab_rails['smtp_enable'] = true # 啟用郵件發(fā)送(可選) gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" # 郵件服務(wù)器地址(可選) gitlab_rails['time_zone'] = 'Asia/Shanghai' # 設(shè)置時(shí)區(qū)(可選)
2.3 防火墻與初始化
# 添加自定義端口到防火墻(示例端口1000) firewall-cmd --permanent --add-port=1000/tcp # 重新加載防火墻配置 sudo systemctl reload firewalld # 重新配置GitLab(應(yīng)用配置更改) gitlab-ctl reconfigure # 重啟GitLab服務(wù) gitlab-ctl restart
2.4 密碼重置方法
# 進(jìn)入GitLab控制臺(tái) sudo gitlab-rails console -e production # 執(zhí)行密碼重置命令序列 user = User.where(id: 1).first # 獲取root用戶 user.password = 'YourNewPassword123!' # 設(shè)置新密碼 user.password_confirmation = 'YourNewPassword123!' # 確認(rèn)密碼 user.save! # 保存更改 exit # 退出
2.5重啟Gitlab
# 重啟GitLab服務(wù) gitlab-ctl restart
三、故障排除指南(附解決方案)
3.1 502錯(cuò)誤(最常見)
原因分析:
- 內(nèi)存不足(GitLab至少需要4GB)
- Unicorn服務(wù)崩潰
3.2 422頁(yè)面錯(cuò)誤
原因分析:
- CSRF令牌驗(yàn)證失敗
- 代理服務(wù)器配置錯(cuò)誤
四 GitLab服務(wù)管理命令
# 啟動(dòng)所有服務(wù) gitlab-ctl start # 停止所有服務(wù) gitlab-ctl stop # 重啟所有服務(wù) gitlab-ctl restart # 查看服務(wù)狀態(tài) gitlab-ctl status # 查看實(shí)時(shí)日志(Nginx) gitlab-ctl tail nginx # 檢查系統(tǒng)配置 gitlab-rake gitlab:check SANITIZE=true
五 實(shí)操截圖
1.安裝SSH服務(wù)、curl工具和系統(tǒng)管理工具
# 安裝SSH服務(wù)、curl工具和系統(tǒng)管理工具 sudo yum install -y curl policycoreutils-python openssh-server

安裝成功會(huì)出現(xiàn)如下圖所示

2.設(shè)置SSH服務(wù)
# 設(shè)置SSH服務(wù)開機(jī)自啟動(dòng) sudo systemctl enable sshd # 啟動(dòng)SSH服務(wù)(允許遠(yuǎn)程連接) sudo systemctl start sshd # 安裝防火墻管理工具 sudo yum install firewalld systemd -y

安裝成功會(huì)出現(xiàn)如下圖所示

# 啟動(dòng)防火墻服務(wù) sudo systemctl start firewalld # 添加HTTP服務(wù)到防火墻(--permanent表示永久生效) sudo firewall-cmd --permanent --add-service=http # 添加HTTPS服務(wù)到防火墻 sudo firewall-cmd --permanent --add-service=https # 添加SSH服務(wù)到防火墻 sudo firewall-cmd --permanent --add-service=ssh # 重新加載防火墻配置(使更改生效) sudo systemctl reload firewalld

3.安裝Postfix
# 安裝郵件服務(wù)(用于GitLab通知) sudo yum install postfix -y

# 設(shè)置郵件服務(wù)開機(jī)自啟動(dòng) sudo systemctl enable postfix # 啟動(dòng)郵件服務(wù) sudo systemctl start postfix
4.安裝vim編輯器和wget下載器
# 安裝vim編輯器(配置文件修改)
sudo yum install -y vim
# 安裝wget下載工具(獲取安裝包)
sudo yum install -y wget
5.添加GitLab鏡像源并安裝gitlab
# 下載清華鏡像站提供的GitLab RPM包(版本14.3.2)
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.3.2-ce.0.el7.x86_64.rpm
# 使用RPM包管理器安裝GitLab
rpm -i gitlab-ce-14.3.2-ce.0.el7.x86_64.rpm
6.關(guān)鍵配置修改
# 編輯GitLab主配置文件
vim /etc/gitlab/gitlab.rb
# 修改以下配置項(xiàng)(示例):
#external_url ‘http://IP:Port’
#external_url ‘http://域名’
external_url 'http://your-server-ip:1000' # 使用自定義端口
7.防火墻與初始化
# 添加自定義端口到防火墻(示例端口1000)
firewall-cmd --permanent --add-port=1000/tcp
# 重新加載防火墻配置
sudo systemctl reload firewalld
# 重新配置GitLab(應(yīng)用配置更改) 重置過(guò)程需要一些時(shí)間等待
gitlab-ctl reconfigure

重置成功后,最后幾行的信息如下圖所示
8.重啟GitLab服務(wù)
# 重啟GitLab服務(wù)
gitlab-ctl restart

9.訪問GitLab頁(yè)面
訪問方式:IP地址+端口號(hào)
訪問地址是來(lái)源
#external_url ‘http://IP:Port’
#external_url ‘http://域名’
external_url 'http://your-server-ip:1000' # 使用自定義端口

10.密碼重置方法
# 進(jìn)入GitLab控制臺(tái)
sudo gitlab-rails console -e production
# 執(zhí)行密碼重置命令序列
user = User.where(id: 1).first # 獲取root用戶
user.password = 'dafu200..' # 設(shè)置新密碼
user.password_confirmation = 'dafu200..' # 確認(rèn)密碼
user.save! # 保存更改
exit # 退出
11.重置完成登錄

12.創(chuàng)建項(xiàng)目倉(cāng)庫(kù)




完美結(jié)束,接下來(lái)創(chuàng)建分支
到此這篇關(guān)于如何在CentOS 7上搭建GitLab服務(wù)器(完整指南)的文章就介紹到這了,更多相關(guān)centos GitLab服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux運(yùn)維基礎(chǔ)httpd靜態(tài)網(wǎng)頁(yè)教程
這篇文章主要介紹了Linux運(yùn)維基礎(chǔ)中怎樣制作httpd靜態(tài)網(wǎng)頁(yè),附含源碼及圖片示例,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝進(jìn)步2021-09-09
CentOS系統(tǒng)下前后端項(xiàng)目部署的操作指南
本文詳細(xì)介紹了CentOS系統(tǒng)下前后端項(xiàng)目部署的全流程,涵蓋系統(tǒng)準(zhǔn)備、環(huán)境配置、服務(wù)管理、日志處理、網(wǎng)絡(luò)診斷、資源監(jiān)控、自動(dòng)化部署及安全加固,提供常見問題的解決方案和操作技巧,需要的朋友可以參考下2025-07-07
Linux 下dmidecode查看內(nèi)存條數(shù)的命令介紹
下面小編就為大家?guī)?lái)一篇Linux 下dmidecode查看內(nèi)存條數(shù)的命令介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
Linux中配置雙機(jī)SSH信任 操作說(shuō)明
本篇文章小編為大家介紹,Linux中配置雙機(jī)SSH信任 操作說(shuō)明。需要的朋友參考下2013-04-04
apache無(wú)法啟動(dòng)的可能原因分析及對(duì)策
在遇到apache無(wú)法啟動(dòng)時(shí),可以參照如下可能的原因進(jìn)行分析與解決,有類似情況的朋友可以參考下哈2013-05-05

