如何在CentOS 7上搭建GitLab服务器(完整指南)

 更新时间:2025年08月06日 11:10:52   作者:工作log  
本文详解在CentOS7上搭建GitLab企业级服务器的完整流程,包括环境准备、安装配置、关键设置、故障排查及实操截图,提供国内镜像加速和常见错误解决方案,感兴趣的朋友一起看看吧

前言

GitLab是一个强大的DevOps平台,集代码托管、CI/CD、项目管理于一体。本文将详细介绍在CentOS 7上搭建GitLab企业级服务器的完整流程,包含关键配置和避坑指南。

一、环境准备

1.1 系统要求

  • 最低配置
    • 4核CPU / 4GB内存(推荐8GB+)
    • 50GB+磁盘空间
    • CentOS 7.6+(64位)

⚠️ 注意:内存不足会导致GitLab运行缓慢甚至崩溃!

服务器配置参考

场景CPU内存存储
小型团队4核8GB100GB
中型企业8核16GB500GB
大型部署16核32GB1TB+

1.2基础服务配置

# 安装SSH服务、curl工具和系统管理工具
sudo yum install -y curl policycoreutils-python openssh-server
# 设置SSH服务开机自启动
sudo systemctl enable sshd
# 启动SSH服务(允许远程连接)
sudo systemctl start sshd
# 安装防火墙管理工具
sudo yum install firewalld systemd -y
# 启动防火墙服务
sudo systemctl start firewalld
# 添加HTTP服务到防火墙(--permanent表示永久生效)
sudo firewall-cmd --permanent --add-service=http
# 添加HTTPS服务到防火墙
sudo firewall-cmd --permanent --add-service=https
# 添加SSH服务到防火墙
sudo firewall-cmd --permanent --add-service=ssh
# 重新加载防火墙配置(使更改生效)
sudo systemctl reload firewalld
# 安装邮件服务(用于GitLab通知)
sudo yum install postfix -y
# 设置邮件服务开机自启动
sudo systemctl enable postfix
# 启动邮件服务
sudo systemctl start postfix
# 安装vim编辑器(配置文件修改)
sudo yum install -y vim
# 安装wget下载工具(获取安装包)
sudo yum install -y wget

二、GitLab安装与配置

2.1 使用国内镜像加速安装

# 下载清华镜像站提供的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 关键配置修改

# 编辑GitLab主配置文件
vim /etc/gitlab/gitlab.rb

进入gitlab.rb文件后,查找内容 

# 修改以下配置项(示例):
#external_url ‘http://IP:Port'
#external_url ‘http://域名'
external_url 'http://your-server-ip:1000'  # 使用自定义端口 

gitlab_rails['smtp_enable'] = true         # 启用邮件发送(可选)
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"  # 邮件服务器地址(可选)
gitlab_rails['time_zone'] = 'Asia/Shanghai' # 设置时区(可选)

2.3 防火墙与初始化

# 添加自定义端口到防火墙(示例端口1000)
firewall-cmd --permanent --add-port=1000/tcp
# 重新加载防火墙配置
sudo systemctl reload firewalld
# 重新配置GitLab(应用配置更改)
gitlab-ctl reconfigure
# 重启GitLab服务
gitlab-ctl restart

2.4 密码重置方法

# 进入GitLab控制台
sudo gitlab-rails console -e production
# 执行密码重置命令序列
user = User.where(id: 1).first  # 获取root用户
user.password = 'YourNewPassword123!'  # 设置新密码
user.password_confirmation = 'YourNewPassword123!'  # 确认密码
user.save!  # 保存更改
exit  # 退出

2.5重启Gitlab

# 重启GitLab服务
gitlab-ctl restart

三、故障排除指南(附解决方案)

3.1 502错误(最常见)

原因分析

  • 内存不足(GitLab至少需要4GB)
  • Unicorn服务崩溃

3.2 422页面错误

原因分析

  • CSRF令牌验证失败
  • 代理服务器配置错误

四 GitLab服务管理命令

# 启动所有服务
gitlab-ctl start
# 停止所有服务
gitlab-ctl stop
# 重启所有服务
gitlab-ctl restart
# 查看服务状态
gitlab-ctl status
# 查看实时日志(Nginx)
gitlab-ctl tail nginx
# 检查系统配置
gitlab-rake gitlab:check SANITIZE=true

五 实操截图

1.安装SSH服务、curl工具和系统管理工具

# 安装SSH服务、curl工具和系统管理工具
sudo yum install -y curl policycoreutils-python openssh-server

安装成功会出现如下图所示

2.设置SSH服务

# 设置SSH服务开机自启动
sudo systemctl enable sshd
# 启动SSH服务(允许远程连接)
sudo systemctl start sshd
# 安装防火墙管理工具
sudo yum install firewalld systemd -y

安装成功会出现如下图所示

# 启动防火墙服务
sudo systemctl start firewalld
# 添加HTTP服务到防火墙(--permanent表示永久生效)
sudo firewall-cmd --permanent --add-service=http
# 添加HTTPS服务到防火墙
sudo firewall-cmd --permanent --add-service=https
# 添加SSH服务到防火墙
sudo firewall-cmd --permanent --add-service=ssh
# 重新加载防火墙配置(使更改生效)
sudo systemctl reload firewalld 

3.安装Postfix

# 安装邮件服务(用于GitLab通知)
sudo yum install postfix -y 

# 设置邮件服务开机自启动
sudo systemctl enable postfix
# 启动邮件服务
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.关键配置修改

  • # 编辑GitLab主配置文件

  • vim /etc/gitlab/gitlab.rb

  • # 修改以下配置项(示例):

  • #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(应用配置更改) 重置过程需要一些时间等待
gitlab-ctl reconfigure

 重置成功后,最后几行的信息如下图所示 

8.重启GitLab服务

     # 重启GitLab服务

  1. gitlab-ctl restart

9.访问GitLab页面

访问方式:IP地址+端口号

访问地址是来源

#external_url ‘http://IP:Port’
#external_url ‘http://域名’
external_url 'http://your-server-ip:1000'  # 使用自定义端口

10.密码重置方法

# 进入GitLab控制台
sudo gitlab-rails console -e production
# 执行密码重置命令序列
user = User.where(id: 1).first  # 获取root用户
user.password = 'dafu200..'  # 设置新密码
user.password_confirmation = 'dafu200..'  # 确认密码
user.save!  # 保存更改
exit  # 退出

11.重置完成登录

12.创建项目仓库

完美结束,接下来创建分支

到此这篇关于如何在CentOS 7上搭建GitLab服务器(完整指南)的文章就介绍到这了,更多相关centos GitLab服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux下如何查看hosts文件

    linux下如何查看hosts文件

    这篇文章主要介绍了linux下如何查看hosts文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • linux中mac地址绑定方法

    linux中mac地址绑定方法

    linux下绑定MAC,就可以免除arp欺骗烦恼了
    2008-07-07
  • Zookeeper3.5.7版本之集群部署过程(linux环境-centos7)

    Zookeeper3.5.7版本之集群部署过程(linux环境-centos7)

    本文详细介绍了如何在三台CentOS 7虚拟机上搭建Zookeeper 3.5.7集群,包括下载JDK11、下载和安装Zookeeper、配置Zookeeper集群、在防火墙中打开端口以及启动和停止Zookeeper服务
    2026-03-03
  • 浅谈linux中sed命令和awk命令的使用

    浅谈linux中sed命令和awk命令的使用

    这篇文章主要介绍了浅谈linux中sed命令和awk命令的使用,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Linux和windows文件互传的两种方案

    Linux和windows文件互传的两种方案

    有时linux主机中的一些文件可能会在windows环境下用到,例如在linux主机中抓了一些图片,想把它们传到windows主机上以作为 word文档的插图,在这些情况下,都需要一种方法来进行两者之间的互通,所以本文给大家介绍了Linux和windows文件互传的两种方案
    2024-05-05
  • Ubuntu服务器关机后继续执行命令的三种方案

    Ubuntu服务器关机后继续执行命令的三种方案

    文章介绍了三种在电脑关闭后让远程命令持续执行的方法:nohup、tmux和systemd,nohup是最简单的后台执行方式,但不支持交互,tmux是最灵活的交互式解决方案,可以恢复会话,systemd是最稳定的自动化守护进程,适用于长期任务,需要的朋友可以参考下
    2026-01-01
  • linux下卸载nginx的操作全过程

    linux下卸载nginx的操作全过程

    文章详细描述了在Linux系统中卸载Nginx的步骤,包括检查Nginx是否在运行、停止服务、删除Nginx文件和卸载依赖
    2026-01-01
  • Ubuntu20.04安装Python3的虚拟环境教程详解

    Ubuntu20.04安装Python3的虚拟环境教程详解

    这篇文章主要介绍了Ubuntu20.04安装Python3的虚拟环境,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 详解如何在Ubuntu 20.04上安装Xrdp服务器(远程桌面)

    详解如何在Ubuntu 20.04上安装Xrdp服务器(远程桌面)

    这篇文章主要介绍了详解如何在Ubuntu 20.04上安装Xrdp服务器(远程桌面),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • centos7安装mysql并jdbc测试实例详解

    centos7安装mysql并jdbc测试实例详解

    这篇文章主要介绍了centos7安装mysql并jdbc测试实例详解的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论