服务器Crontab设定了一天两次自动的apt upgrade -y 任务,在2020.5.22的时候,Gitlab升级到了13.0版本。
但是出现了Gitlab网页无法打开的情况
怀疑是大版本跃迁造成的问题,于是用gitlab-ctl restart重启服务后,无反应。用gitlab-ctl reconfigure进行重新配置后,提示有三个改动,但是重配置后,依旧无法打开网页。
利用gitlab-ctl status命令查看组件运行状况,发现有个名称为puma的服务在每隔60秒的时候就在重启。初步判断是这个服务出现了无法启动的状况。
Google了一下gitlab puma,第一个结果便是官方说明文档Puma|Gitlab,第一句话就是"Note: Starting with GitLab 13.0, Puma is the default web server and Unicorn has been disabled by default."。也就是说,在13.0版本的时候,Gitlab的默认web服务器从Unicorn切换到了Puma
但是很好心的是,在相同页面,Gitlab给出了puma配置与unicorn配置的对应表。于是我按照对应表和这个Gitlab官方Puma设置要求进行了一番设置。设置过后,执行gitlab-ctl reconfigure并等待大约四十秒,网站便可以重新开放了,问题解决。
在gitlab.rb中,我做出的修改的部分有(不完全通用,请按照个人的配置重新调整):
unicorn['enable'] 的值从true改为false,关闭unicorn
puma['enable']取消注释,并改为true
puma['port']取消注释,并设置成同unicorn['port']一致的端口
可选的配置
puma['per_worker_max_memory_mb'] 每个worker能用的最大内存量。这个依照自己的服务器来定,我改成了2048。毕竟96G内存服务器无所畏惧(不是)