【GitLab】记GitLab Puma 8080 端口冲突解决

GitLab 13.0 开始,Puma 是默认的应用程序服务器. 计划在 GitLab 14.0 中删除对 Unicorn 的支持.

Puma 具有多线程体系结构,与像 Unicorn 这样的多进程应用程序服务器相比,它使用的内存更少. 在 GitLab.com 上,我们发现内存消耗减少了 40%.

大多数 Rails 应用程序请求通常都包含一定比例的 I / O 等待时间. 在 I / O 等待时间内,MRI Ruby 将释放 GVL(全局 VM 锁定)到其他线程. 因此,多线程 Puma 仍然可以处理比单个进程更多的请求.


环境:

CentOS 7.9
GitLab 13.10.3
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION # 查看版本

解决:

1.修改 puma.rb 配置

vim /var/opt/gitlab/gitlab-rails/etc/puma.rb

# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only
# accepted protocols.
bind 'unix:///var/opt/gitlab/gitlab-rails/sockets/gitlab.socket'

bind 'tcp://127.0.0.1:8092' ## 默认8080,修改为自己服务不冲突的端口,这里我改为8092

directory '/var/opt/gitlab/gitlab-rails/working'

workers 6

require_relative "/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/cluster/lifecycl
### GitLab 安装过程中出现 502 错误的解决方案 当遇到 GitLab 的 502 错误时,通常是因为服务器硬件资源不足或者配置问题引起的。以下是针对该问题的具体分析和解决方法: #### 1. 检查服务器状态和服务运行情况 可以使用以下命令来检查 GitLab 各项服务的状态以及是否存在未启动的服务: ```bash sudo gitlab-ctl status ``` 此命令会显示当前所有 GitLab 组件的运行状况。如果发现某些组件(如 Gitaly 或 Puma)未能正常启动,则可能是导致 502 错误的原因之一[^1]。 #### 2. 运行健康检查脚本 通过执行以下命令进一步诊断潜在的问题: ```bash gitlab-rake gitlab:check ``` 上述命令会对整个 GitLab 配置进行全面检测并报告可能存在的异常。按照提示逐步修复所列问题有助于消除错误源。 #### 3. 调整Puma监听端口设置 对于部分高版本 (>=v13) 的GitLab实例来说, 默认使用的Web应用服务器(Puma) 可能因为默认端口冲突而引发连接失败现象(即表现为HTTP状态码502). 此类情况下可尝试更改其绑定端口号: 编辑 `/etc/gitlab/gitlab.rb`, 找到关于puma的部分做如下修改: ```ruby puma['port'] = '新的可用端口号' ``` 保存更改后依次运行下面两条指令完成生效过程: ```bash sudo gitlab-ctl reconfigure sudo gitlab-ctl restart ``` 这样做的目的是避免与其他正在使用的网络服务发生竞争关系从而引起不可达的情况[^3]. #### 4. 提升主机性能参数 另外需要注意的是,假如目标机器本身计算能力较弱也可能间接造成此类表现形式上的故障——比如内存过少不足以支撑起完整的环境构建流程等等;因此适当增加物理资源配置也是必要的考虑方向之一[^2]. 以上就是处理GitLab部署期间遭遇502 Bad Gateway情形的一些常见办法汇总.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值