更新 GitLab 后 nginx 无法启动

更新 GitLab 后 nginx 无法启动

我尝试通过运行sudo apt-get update和来更新 GitLab sudo apt-get install gitlab-ce。安装过程中一切似乎都很好,但安装完成后,nginx 停止工作,我无法启动它。

运行后:sudo gitlab-ctl status,我得到了这个:

run: gitlab-workhorse: (pid 4378) 8613s; run: log: (pid 937) 9953s
run: logrotate: (pid 19116) 1412s; run: log: (pid 933) 9953s
down: nginx: 0s, normally up, want up; run: log: (pid 943) 9953s
run: postgresql: (pid 4456) 8581s; run: log: (pid 939) 9953s
run: redis: (pid 4466) 8581s; run: log: (pid 935) 9953s
run: sidekiq: (pid 4474) 8578s; run: log: (pid 940) 9953s
run: unicorn: (pid 4496) 8576s; run: log: (pid 931) 9953s

我尝试运行sudo gitlab-ctl reconfigure并重新启动。这没有帮助。我还尝试了sudo gitlab-ctl restart nginx,结果如下:

timeout: down: nginx: 0s, normally up, want up

有什么想法吗?谢谢!

答案1

尝试运行sudo gitlab-ctl tail以查看所有错误。

我犯了一个愚蠢的错误,在之前编辑 GitLab 实例时没有为 GitLab 注册子域创建证书。

查看错误后,我发现 nginx 正在等待读取文件并卡在这里:

==> /var/log/gitlab/nginx/current <==

2019-03-05_09:17:42.23918 nginx:[emerg] BIO_new_file(“/etc/gitlab/ssl/registry.gitlab.xxx.com.crt”)失败(SSL:错误:02001002:系统库:fopen:没有这样的文件或目录:fopen('/etc/gitlab/ssl/registry.gitlab.xxx.com.crt','r')错误:2006D080:BIO例程:BIO_new_file:没有这样的文件)

我只能说*facepalm*。我使用 letsencrypt 修复了我的配置后,问题就解决了。

相关内容