トラブルシューティング

500 Internal Server Errorの原因調査と解決法

更新日:

500 Internal Server Errorは、サーバー内部でなんらかのエラーが発生しているときに出るメッセージです。

たまたま閲覧しているサイトで500エラーが発生した場合、あなたにできることはほとんどありません。何度かリロードしてみて治らなければあきらめましょう。

500 Internal Server Error

500 Internal Server Error

もし、あなたが管理しているサイトで発生した場合は、エラー原因を調べて対処する必要があります。このエラーが出る可能性がある原因をざっと並べておきます。

  • htaccess の記載ミス
  • プログラムの文法ミス
  • サーバー負荷
500 Internal Server Errorの原因

500 Internal Server Errorの原因

.htaccessの記載ミス

.htaccessの記載ミスがあると500エラーは発生します。

.htaccessはドキュメントルート直下におかれることが多いファイルです。リダイレクトやベーシック認証、アクセス制御などを記載することができます。

原因調査

.htaccessが置かれたディレクトリ配下へアクセスすると、必ず.htaccessの処理が実行されます。

そのため、存在しないファイルへアクセスした場合、本来であれば404 NotFoundがでるはずですが、.htaccessが原因の場合は500エラーが発生します。

ブラウザから存在しないURLへアクセスして、404ではなく500エラーが出た場合は.htaccessを疑います

解決法

事前に取得しておいたバックアップへ差し戻します。差し戻し後は落ち着いて.htaccessの記載内容をチェックしましょう。

.htaccessを編集するときは、必ずバックアップを取得しておきましょう。バックアップを取得することで、記載ミスがあった場合に迅速に対応が可能です。

シェルログインできる場合は、下記コマンドでバックアップをすることが可能です。

コピーコマンド

cp -p .htaccess{,_`date +%Y%m%d`}

プログラムの文法ミス

.htaccessと似ていますが、プログラムの文法ミスがあった場合もエラーが発生します。

原因調査

直前にプログラム修正している場合は、修正ミスを疑いましょう。

特定のページのみで発生している事象かを確認しましょう。また、該当ページで使われているプログラムがいつ修正されたかを確認します。

解決法

.htaccessと同じく、修正前のバックアップファイルに差し戻しを行います。差し戻し後に落ち着いてプログラムの修正を行ってください。

サーバー負荷

プログラム的は正常に動作する状態になっていても、サーバー負荷によって実行時にエラーが発生する場合もあります。

原因調査

サイトにアクセスしてみて、該当ページ以外でも同様の事象が発生しているかを確認します。

サーバーへログインできる場合は、TOPコマンドやvmstatなどで、ロードアベレージやCPU使用率の状況をみるとよいでしょう。

解決法

サーバー負荷が治まるのをまちましょう。

apacheなどのWEBサーバーの再起動で治る場合もあるので再起動をするのもよいでしょう。

サーバーのスペックアップができる場合は、スペックアップも選択肢の一つになります。

-トラブルシューティング

Copyright© レンサバ救急隊 , 2024 All Rights Reserved.