资讯动态

Rocky Linux 9上GitLab CE 16.9.0保姆级安装指南:从依赖包到防火墙配置一条龙

发布时间:2026/9/30 22:14:22 来源:尧图企业网站定制
Rocky Linux 9上GitLab CE 16.9.0保姆级安装指南从依赖包到防火墙配置一条龙如果你正在寻找一份零失败、全细节覆盖的GitLab CE安装手册这篇文章就是为你准备的。我们将以Rocky Linux 9为舞台从系统准备到最终登录手把手带你完成GitLab 16.9.0的部署。不同于普通教程只给命令我会解释每个步骤背后的原理并分享那些官方文档没写的实战技巧——比如如何避免gitlab-ctl reconfigure卡住时的焦虑等待以及为什么初始密码文件会神秘消失。1. 环境准备打造GitLab的完美温床在开始安装之前我们需要确保Rocky Linux 9系统处于最佳状态。这不仅仅是运行几条命令那么简单而是要为GitLab构建一个稳定、高效的基础环境。1.1 系统更新与基础工具首先让我们更新系统并安装基础工具组# 更新所有已安装的软件包 sudo dnf -y update # 安装Development Tools组包含gcc、make等编译工具 sudo dnf -y groupinstall Development Tools # 安装perlGitLab安装脚本依赖 sudo dnf -y install perl为什么需要这些包Development ToolsGitLab的部分组件如Ruby扩展需要在安装时编译perlGitLab的安装脚本是用perl编写的提示如果系统内核有更新建议重启后再继续后续步骤以确保所有更新生效。1.2 防火墙与SELinux预配置为了避免后续出现访问问题我们先配置好防火墙和SELinux# 检查防火墙状态 sudo systemctl status firewalld # 如果未运行则启动并设置开机自启 sudo systemctl enable --now firewalld # 临时关闭SELinux安装完成后再配置 sudo setenforce 02. GitLab CE安装官方源与自定义配置现在进入核心环节——GitLab CE的安装与基础配置。2.1 通过官方源安装官方推荐使用他们的仓库安装这能确保后续更新更方便# 添加GitLab官方仓库 curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash # 安装指定版本16.9.0 sudo dnf -y install gitlab-ce-16.9.0-ce.0.el92.2 关键配置文件修改安装完成后需要修改GitLab的主配置文件sudo vim /etc/gitlab/gitlab.rb找到并修改以下关键参数external_url http://your_server_ip_or_domain nginx[listen_port] 8080 # 如果不想用默认80端口参数解析external_url这是GitLab的访问地址会影响生成的链接和回调URLnginx[listen_port]指定Nginx监听的端口如果与external_url中的端口不同3. 初始化配置与优化3.1 执行reconfigure这是最关键的步骤也是新手最容易困惑的地方sudo gitlab-ctl reconfigure为什么这个过程很慢它会配置所有组件PostgreSQL、Redis、Sidekiq等生成所有必要的证书和密钥初始化数据库结构专业技巧在慢速服务器上可以添加--debug参数查看详细进度sudo gitlab-ctl reconfigure --debug3.2 获取初始root密码安装完成后系统会自动生成一个随机root密码sudo cat /etc/gitlab/initial_root_password重要安全提示这个文件会在首次reconfigure后24小时自动删除登录后应立即修改密码建议将密码复制到安全的地方4. 防火墙与安全加固4.1 开放必要端口根据你的配置开放相应端口默认80或自定义端口# 开放HTTP端口假设使用8080 sudo firewall-cmd --permanent --add-port8080/tcp sudo firewall-cmd --reload4.2 SELinux策略调整如果启用SELinux需要设置正确的上下文# 允许GitLab相关服务访问网络 sudo setsebool -P httpd_can_network_connect on # 恢复SELinux为强制模式 sudo setenforce 15. 服务管理与故障排查5.1 常用管理命令# 启动所有GitLab服务 sudo gitlab-ctl start # 停止所有GitLab服务 sudo gitlab-ctl stop # 重启所有GitLab服务 sudo gitlab-ctl restart # 查看服务状态 sudo gitlab-ctl status5.2 日志查看技巧当出现问题时查看相关日志是最快定位问题的方法# 查看所有组件日志 sudo gitlab-ctl tail # 只看Nginx日志 sudo gitlab-ctl tail nginx # 只看PostgreSQL日志 sudo gitlab-ctl tail postgresql6. 高级配置与优化建议6.1 邮件服务器配置要让GitLab发送通知邮件必须配置SMTP# /etc/gitlab/gitlab.rb中配置 gitlab_rails[smtp_enable] true gitlab_rails[smtp_address] smtp.yourdomain.com gitlab_rails[smtp_port] 587 gitlab_rails[smtp_user_name] gitlabyourdomain.com gitlab_rails[smtp_password] yourpassword gitlab_rails[smtp_domain] yourdomain.com gitlab_rails[smtp_authentication] login gitlab_rails[smtp_enable_starttls_auto] true配置后记得重新加载sudo gitlab-ctl reconfigure6.2 性能调优参数对于小型服务器可以调整以下参数减少资源占用# /etc/gitlab/gitlab.rb unicorn[worker_processes] 2 sidekiq[concurrency] 5 postgresql[shared_buffers] 256MB7. 备份与恢复策略7.1 创建完整备份sudo gitlab-rake gitlab:backup:create备份文件默认存储在/var/opt/gitlab/backups目录。7.2 恢复备份# 停止相关服务 sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq # 恢复指定备份TIMESTAMP部分替换为实际备份时间戳 sudo gitlab-rake gitlab:backup:restore BACKUPTIMESTAMP # 重新启动服务 sudo gitlab-ctl restart8. 常见问题解决方案8.1 502错误排查如果访问GitLab出现502错误可以按以下步骤排查检查服务状态sudo gitlab-ctl status查看内存使用情况free -h可能是Unicorn worker崩溃尝试重启sudo gitlab-ctl restart unicorn8.2 磁盘空间不足GitLab运行一段时间后可能会占用大量磁盘空间# 清理无用日志 sudo gitlab-ctl cleanse # 清理旧的Docker镜像如果使用容器化安装 sudo docker system prune -a9. 后续维护建议定期更新GitLab发布安全更新频率较高建议定期执行sudo dnf update gitlab-ce sudo gitlab-ctl reconfigure监控资源使用设置简单的cron任务监控磁盘和内存使用备份策略至少每周一次完整备份并测试恢复流程10. 实际部署中的经验分享在多次部署GitLab的过程中我发现几个特别值得注意的点reconfigure时间在配置较低的云服务器上首次gitlab-ctl reconfigure可能需要15分钟以上耐心等待是关键密码文件消失/etc/gitlab/initial_root_password确实会在24小时后自动删除这不是系统错误端口冲突如果服务器上已经有Nginx运行记得修改nginx[listen_port]避免冲突内存需求GitLab官方推荐至少4GB内存但在2GB服务器上通过适当调优也能运行虽然性能会受影响

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑