Nginx を使っているときに 500 というエラーが出た場合、このページで解決できます。難しい知識は不要です。上から順に確認していきましょう。
まずこれだけ試してください
難しいことを調べる前に、次の3つを確認してください。多くの場合、これだけで解決します。
- 一度ログアウトして、再度ログインする
- ブラウザのキャッシュ・Cookieをクリアして再試行する
- しばらく待ってから(5〜10分後)再試行する
このエラーの意味
500 は、Nginx が「Nginxまたはバックエンドサービスで予期しない内部エラーが発生した。」という状態のときに表示されます。
エラーが出ても、データが消えたり壊れたりするわけではないので安心してください。
よくある原因
このエラーが出るときによく見られるパターンです。自分の状況に近いものを探してみてください。
- PHP-FPMやuWSGIなどのバックエンドプロセスがクラッシュまたは停止している
- 設定ファイルの文法エラーでNginxの起動が完全に成功していない
- バックエンドアプリケーションが例外を投げてレスポンスを返せていない
解決手順(上から順に試す)
- /var/log/nginx/error.log でエラーの詳細を確認する
- nginx -t で設定ファイルの構文を確認する
- バックエンドプロセス(PHP-FPM等)の状態をsystemctl statusで確認する
それでも解決しない場合
- Nginx のサポートに問い合わせる:エラーメッセージの全文をスクリーンショットで送ると対応が早くなります
- 公式ヘルプページを検索する:「500 Nginx」で検索すると関連ページが見つかることがあります
- 時間をおいて再試行する:Nginx 側で一時的な問題が起きているケースもあります
免責事項:本記事の内容は、執筆時点の公開情報をもとに作成したものです。ソフトウェアの仕様は予告なく変更されることがあります。最新の情報は各ツールの公式サポートページをご確認ください。本記事の情報を利用した結果生じたいかなる損害についても、著者および運営者は責任を負いかねます。