2026年10月15日
2026年10月15日
WordPressのHTTP 502 Bad Gatewayを解決する方法
はじめに
この記事では、WordPressサイトでHTTP 502 Bad Gatewayエラーが発生した際の対処法とトラブルシューティング手法について解説します。HTTP 502 Bad Gatewayは、ウェブサーバー(例えばnginxやApache)がフロントエンドとしてバックエンドサーバーにリクエストを送った際に応答を受け取ることができなかったことを示すエラーです。
症状・背景
このテーマが必要になる主な場面:
- フルーティングプロキシや負荷分散器を使用している場合
- PHPのバージョンアップ後に発生する可能性がある
- nginxやApacheなどのウェブサーバー設定に問題がある場合
- WordPressプラグインが原因でPHPプロセスが停止した場合
手順・設定方法
ステップ1: サーバー状態の確認
# nginxのステータスページから情報を取得します。
curl http://localhost/nginx_status
# PHP-FPMのプロセス状況を確認します。
sudo systemctl status php7.4-fpm
ステップ2: ファイルパーミッションの調整
# WordPressディレクトリの所有者と権限を適切に設定します。
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
ステップ3: nginxまたはApacheの設定ファイル調整
# nginxの設定ファイルを開きます。
sudo nano /etc/nginx/sites-available/default
# サーバブロックのプロキシパスを確認し、必要に応じて変更します。
proxy_pass http://127.0.0.1:9000;
# Apacheの場合、WordPressディレクトリの設定ファイルを開きます。
sudo nano /etc/apache2/sites-available/wordpress.conf
# PHP-FPMへのプロキシパスを確認し、必要に応じて調整します。
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
ステップ4: プロセスの再起動と監視
# nginxをリスタートします。
sudo systemctl restart nginx
# PHP-FPMも同様に再起動します。
sudo systemctl restart php7.4-fpm
# サーバー上のプロセス状態を定期的に確認します。
watch -n 1 'ps aux | grep php'
注意事項
- ファイルの所有者と権限を適切に設定する際は、バックアップを取りましょう。
- PHP-FPMやnginxの設定ファイルを変更した場合は、必ずサーバーを再起動して反映させます。
- セキュリティ上の注意: 外部からアクセス可能なプロトコルを使用しないこと、必要最小限のポートのみを開けるようにすること。
- パフォーマンス/運用上の注意: 頻繁な設定変更はパフォーマンスに影響を及ぼす可能性がありますので、適切なテストを行ってから本番環境で適用してください。
まとめ
1. サーバー状態の確認: nginxやPHP-FPMのプロセスが正常に動作しているかチェックします。
2. ファイルパーミッションの調整: WordPressディレクトリとその下にあるファイルの所有者を適切なユーザーに変更します。
3. nginxまたはApacheの設定ファイル調整: フロントエンドサーバーとバックエンドサーバー間の通信が適切に行われるように、プロキシパスなどの設定を行います。
4. プロセスの再起動と監視: サービスを再起動して設定を反映させ、その後は定期的にプロセス状態を確認します。
5. 注意事項: 安全性やパフォーマンスへの影響を考慮しながら、慎重に手順を実行します。
関連記事: