ホーム›ORIGIN / APPLICATION

500 Internal Server Errorの原因と直し方|運営者向け

500は原因名ではなく、より具体的な5xxを返せない時の一般的なサーバーエラーです。発生範囲と時刻を固定し、直前変更→リソース→アプリ例外の順でログを追います。

先に結論

500は原因名ではなく、より具体的な5xxを返せない時の一般的なサーバーエラーです。発生範囲と時刻を固定し、直前変更→リソース→アプリ例外の順でログを追います。

最初の5分で証拠を残す

  1. 対象URL、エラー全文、発生時刻、リクエストIDを保存する。
  2. 全ページか特定URLだけか、ログイン有無や操作内容で差があるかを確認する。
  3. 直前30分のデプロイ、設定変更、プラグイン更新、PHP・ランタイム更新を列挙する。
  4. 同時刻のWebサーバー、アプリ、PHP、コンテナ・関数ログを確認する。
  5. CPU、メモリ、ディスク容量・inode、接続数、依存DB/APIの状態を保存する。
結論:全URLで同時に500なら共通基盤・設定・容量を優先し、特定URLや操作だけなら、そのリクエストを処理したアプリ例外と依存先を優先します。

観測結果から確認先を絞る

観測優先候補次の確認
デプロイ直後から全体設定・依存・互換性差分、環境変数、起動ログ、直前版
特定URL・入力だけ未処理例外追跡ID、stack trace、入力条件
負荷上昇後に断続OOM・接続枯渇メモリ、worker、DB pool、キュー
書込やアップロードだけ容量・権限ディスク、inode、一時領域、実行ユーザー
CDN経由だけヘッダー・経路差オリジン応答、WAF/CDNログ
上流から無効応答gateway側502/504を切り分け

成功した1件との差分を追う

  1. エラー時刻と追跡IDで、アクセスログからアプリログへつなぐ。
  2. 同じURLの直前の成功リクエストを探し、ノード、版、入力、認証、依存先を比較する。
  3. 例外名と最初の発生箇所を確認し、秘密情報を除いて保存する。
  4. OOM、process restart、disk full、permission denied、DB timeoutを同時刻で確認する。
  5. 原因候補を一つだけ変更し、再現条件と監視値が改善したか確認する。

WordPressは変更前に復元手段を確保

WordPress公式は、破損した .htaccess、プラグイン、テーマ、PHPメモリなどを一般的な候補として案内しています。ただし、ファイル名変更や停止操作は本番機能へ影響します。バックアップ、管理画面またはホスティングの復元手段、直前変更を確保し、一度に一項目だけ検証します。

注意:WP_DEBUG の詳細を公開画面へ表示しないでください。WordPress公式の例のようにログへ記録し、利用者には非表示にします。

避ける操作

  • ログ保存前に全ノードを同時再起動する。
  • 本番で詳細な例外・パス・認証情報を利用者へ表示する。
  • 原因を分けずに権限を777へ広げる、WAFを恒久停止する。
  • バックアップ未確認でファイルやDBを上書き・初期化する。

公式情報

WORDPRESS / 復旧後の判断

同じ運用を続けるかは、復旧後に分けて判断

障害中に移転を始めると、原因と移行差分が混ざります。まず復旧と証拠保存を優先し、その後に停止損失・復旧工数・移転費を同じ条件で比較します。

移転比較が近い売上・問い合わせへの影響があり、同種障害が反復。復元や保守の負担が大きく、30〜90日内に移転を判断したい。
まだ移転しない単発の設定・プラグイン原因で復旧済み。正常なバックアップと復元手順があり、停止損失も小さい。
先に確定する月間訪問、停止1時間の損失、現行費用、復旧工数、容量・帯域、移転期限をそろえる。
特定サービスへの申込みではなく、現状維持・段階移転・有料移転を同じ条件で比較します。

よくある質問

500エラーは利用者の端末で直せますか?

通常は直せません。500はサーバー側が予期しない状態に遭遇したことを示す一般的な応答です。運営者が同時刻のサーバー・アプリログと直前変更を確認します。

まずサーバーを再起動すべきですか?

ログやプロセス状態が消えるため、発生時刻、対象URL、リクエストID、メモリ・ディスク、直前変更を保存してから判断します。冗長構成なら影響ノードだけを切り離します。

WordPressの500は.htaccessが原因ですか?

候補の一つですが断定できません。WordPress公式は.htaccess、プラグイン、テーマ、PHPメモリなど複数の確認項目を挙げています。バックアップと変更履歴を確保し、一度に一要因だけ検証します。