Linux系统安装GitLab私有仓库 详细部署步骤

夏辰同学_1815

夏辰同学_1815

2026-04-12

870人浏览

原创

gitlab部署失败八成卡在gitlab-ctl reconfigure:需确保4核8g硬件、postfix/sshd服务启用、policycoreutils-python-utils安装;external_url禁用localhost;防火墙开放80/443/22端口;密码取自/etc/gitlab/initial_root_password首行明文。

linux系统安装gitlab私有仓库 详细部署步骤

GitLab 在 Linux 上部署失败,八成是卡在 gitlab-ctl reconfigure 这一步——不是内存不够、就是端口冲突、或者配置文件里写了非法 URL。别急着重装,先看这几个关键动作能不能跑通。

检查系统资源和基础服务是否达标

GitLab 对硬件有硬性要求:4 核 CPU + 8GB 内存是最低门槛,低于这个规格,gitlab-ctl reconfigure 会卡住或报错 omnibus_gitlab[default] (gitlab::default line 1) had an error,且日志里常出现 timeout waiting for postgresql 或 sidekiq not responding。

  • 运行 free -h 确认可用内存 ≥ 6GB(GitLab 启动后自身占用约 2.5GB)
  • 执行 systemctl is-active postfix,必须返回 active;若为 inactive,需补上 sudo systemctl start postfix && sudo systemctl enable postfix
  • 确认 SSH 已启用:sudo systemctl is-enabled sshd 应输出 enabled,否则执行 sudo systemctl enable --now sshd
  • CentOS/RHEL 7/8 用户注意:policycoreutils-python-utils 必须安装,否则 reconfigure 会因 SELinux 模块缺失失败

external_url 配置不能写 localhost 或 127.0.0.1

很多人把 external_url 设成 "http://localhost:8080" 或 "http://127.0.0.1:8080",结果浏览器打不开,或者登录后跳转 404。GitLab 的 Workhorse 和 Nginx 组件依赖该 URL 构造内部重定向和静态资源路径,写本地地址会导致前端请求发向浏览器本机,而非服务器。

openclaw-gitcode-pr-monitor
openclaw-gitcode-pr-monitor

监控一个或多个 GitCode 仓库的 PR,通过 OpenClaw Gateway 自动执行 AI 审查,发布 PR 评论,并发送钉钉和企业微信通知。

下载
  • 正确写法是用局域网 IP(如 "http://192.168.0.10:8080")或已解析的域名(如 "https://gitlab.example.com")
  • 如果只在本机测试,可临时用 "http://$(hostname -I | awk '{print $1}'):8080" 获取主网卡 IP
  • 改完后必须运行 sudo gitlab-ctl reconfigure,不能只 restart
  • HTTPS 场景下,务必同步配置 nginx['redirect_http_to_https'] = true 和证书路径,否则 80 端口会 301 循环

防火墙和端口放行必须显式操作

GitLab 默认监听 80(HTTP)、443(HTTPS)、22(SSH),但很多教程漏掉一点:它还依赖本地 Unix socket 和 8080(GitLab Workhorse)等内部端口。外部访问失败,90% 是因为防火墙没开对端口,而不是 GitLab 本身没起来。

  • CentOS/RHEL 使用 firewall-cmd:sudo firewall-cmd --permanent --add-port=80/tcp、--add-port=443/tcp、--add-port=22/tcp,然后 sudo firewall-cmd --reload
  • Ubuntu/Debian 用户若启用 ufw,执行 sudo ufw allow 80,443,22/tcp
  • 云服务器(如阿里云 ECS)额外检查安全组规则,确保入方向放行对应端口——光配系统防火墙没用
  • 验证端口是否真在监听:sudo ss -tlnp | grep ':80\|:443',应看到 nginx 进程绑定

首次登录密码必须从文件读,不能靠安装日志回显

安装完成后终端可能打印类似 root password saved to /etc/gitlab/initial_root_password,但很多人直接复制那行日志里的“password: xxx”去登录,结果失败。那个字符串是加密后的哈希值,不是明文密码。

  • 真正密码藏在文件第一行明文位置:sudo cat /etc/gitlab/initial_root_password | head -1
  • 该文件仅在首次 reconfigure 后生成一次,后续修改密码不会更新它;重装前若不清除 /etc/gitlab,旧密码仍有效
  • 如果文件不存在,说明 reconfigure 未成功完成,此时 gitlab-ctl status 通常显示多个服务为 down
  • 忘记密码且无法访问 Web 界面?只能重置:sudo gitlab-rake "gitlab:password:reset[root]",然后按提示输入新密码

最易被忽略的是:GitLab 的 reconfigure 不是“一键完成”,它实际会下载并编译 Ruby bundle、初始化 PostgreSQL 数据库、生成 SSL 证书(如果启用了 HTTPS)、甚至调整内核参数。整个过程在低配机器上可能耗时 5–15 分钟,期间 gitlab-ctl status 显示部分服务为 down 属正常现象——只要最终全部变成 run,就说明成功了。

相关专题

更多
Linux安装Ruby语言详细教程
Linux安装Ruby语言详细教程

本专题整合了Linux安装配置Ruby相关教程,阅读专题下面的文章了解更多详细操作。

2026.04.02

112

9

nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

383

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3287

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

5965

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

561

5

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.07.09

1476

5

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

2024.08.07

3938

3

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

122

12

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

437

23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习