我尝试通过运行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 修复了我的配置后,问题就解决了。