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:そのようなファイルはありません)

私に言えることは、*顔面を手で覆う* ことだけです。letsencrypt を実行して設定を修正したら、問題は解決しました。

関連情報