2026年6月30日
2026年6月30日
WordPressの503 Service Unavailableを解決する方法
はじめに
WordPressサイトを運営していると、突然「503 Service Unavailable」(サービスが利用できません)というエラーページを見かけることがあります。この記事では、その原因や対策について詳しく説明します。
症状・背景
- サーバーのメンテナンス中に発生
- プラグイン更新中にシステム負荷が高まり発生
- データベース接続に問題がある場合
- サーバーコンフィギュレーションの問題
手順・設定方法
ステップ1: 503エラーを確認する
まず、503エラーが発生していることを確認します。
# サーバーにログインしてエラーログを見ます。
tail -f /var/log/apache2/error.log
ステップ2: .htaccessファイルの修正
.htaccessファイル内の「503 Maintenance Mode」設定を確認または修正します。
# .htaccessファイルを開きます。
nano /var/www/html/.htaccess
# 503エラーが発生している場合、maintenanceモードが有効になっている可能性があります。これを無効にします。
# ファイル内にある以下のような行をコメントアウトまたは削除します。
# <IfModule mod_rewrite.c>
# RewriteEngine On
# RewriteCond %{REQUEST_URI} !^/wp-admin/
# RewriteRule ^(.*)$ /index.php [L]
# </IfModule>
# 変更後保存し、サーバーをリスタートさせます。
systemctl restart apache2
ステップ3: サーバーコンフィギュレーションの確認
ApacheやNginxの設定ファイルを確認します。特に「ServerSignature」および「ErrorDocument」の設定が適切であるか確認しましょう。
# Apacheの場合、以下のように確認します。
cat /etc/apache2/sites-available/000-default.conf | grep -i "server-signature"
cat /etc/apache2/sites-available/000-default.conf | grep -i "error-document"
# Nginxの場合、以下のように確認します。
grep -Riw 'server_signature' /etc/nginx/
grep -Riw 'error_page' /etc/nginx/
# 設定が不適切な場合、適切な設定に変更してサーバーをリスタートさせます。
systemctl restart nginx
ステップ4: データベース接続の確認
データベースへの接続が問題である可能性もあります。PHPMyAdminやコマンドラインでデータベース状況を確認します。
# MySQLにログインして状況を確認します。
mysql -u root -p
# 以下のように、具体的なテーブルまたはデータベースのステータスをチェックします。
SHOW TABLE STATUS FROM your_database_name;
注意事項
- 定期的なバックアップ: サーバー設定やデータベースを変更する前に必ずバックアップを取りましょう。
- セキュリティ: 安全な方法でサーバーコンフィギュレーションファイルの変更を行いましょう。権限管理には注意が必要です。
- パフォーマンス: パフォーマンスチューニングと並行して、サイトの負荷状況を定期的にチェックすることをお勧めします。
まとめ
1. エラーログの確認: エラーが発生した際に必ずエラーログを確認しましょう。
2. .htaccessファイルの適切な設定: .htaccessファイルはサーバー設定に大きな影響を与えますので、適切に設定することが重要です。
3. データベース接続チェック: データベースが正常に機能していない場合、503エラーを引き起こす可能性があります。
4. 定期的なバックアップ: 重要な設定変更や更新の前に必ずバックアップを取りましょう。
5. パフォーマンス最適化: サイトの性能を常に最適な状態に保つことで、503エラーの発生を防ぐことができます。
関連記事: