ConoHa WINGでたまに突然503エラーになります。
私の場合、503エラーになるのは必ずメインドメイン
https://www.kaimonojyoz.jp/
で、サブドメイン
https://blog.kaimonojyoz.jp/
は503エラーになりません、今のところですが。
「ConoHa WING 503エラー」でググると解決策として
- サーバーの障害情報を確認する
- しばらく時間を置いてアクセスする
- キャッシュをクリアする※ブラウザキャッシュ・キャッシュ系プラグインのキャッシュ・サーバーキャッシュをクリアする・・・とのことですが、そもそも503エラーでWordPress管理画面にアクセスできないので、キャッシュ系プラグインのキャッシュはWordPress管理画面からは削除できず、プラグインによってはFTPからであればキャッシュ削除できますが100%正しく削除できるか微妙です。
- ディスク使用量がMAXになっていないか確認する
- 最近追加・更新したプラグインを無効にしてみる
- テーマをWordPress標準テーマに変更してみる
等が見つかると思いますが、私の場合は上記の方法ではどれも解決しませんでした。
私の場合、突然503エラーになる原因は、登録済みの「user.ini編集」が何故か空になってしまうことにあるようです。
なぜ登録した「user.ini編集」が空になるのかはわかりませんが、保存してあるFTP上の「.user.ini」の内容を「user.ini編集」にて再度登録すると503エラーは解消されます。
ConoHa WINGのバグかと思います。
結論を先に書きますと、以下、私の場合の解決方法です。
ConoHa WING管理画面 → サイト管理 → 該当サイトを選択 → サイト設定の「応用設定」の「PHP設定」に以下のコードを追加します。
■php.ini編集(全サイト共通のフォールバック用)
[Session]
session.save_path = "/home/【ユーザー名】/session-zzz"※「session-zzz」はセッションを保存する親ディレクトリです。事前にFTPで作成し、パーミッションは700にしておきます。
■user.ini編集(サイト個別設定)
[Session]
session.save_path = "/home/【ユーザー名】/session-zzz/kaimonojyoz.jp"※セッションファイルが混ざらないよう、サイトごとにサブディレクトリ「kaimonojyoz.jp」を分けて作成しておくのがベターです。※サブディレクトリそれぞれ、パーミッション700です。
ConoHa WINGでは、FTPで
- php.ini
- .user.ini
を直接アップロードしても反映されません。
ConoHa WING管理画面 → サイト管理 → 該当サイトを選択 → サイト設定の「応用設定」にて「php.ini編集」「user.ini編集」を設定しますが、ConoHa WINGに限らず一般的なサーバーでは、「php.ini」より「.user.ini」が優先されます。
つまり「php.ini編集」より「user.ini編集」が優先されます。
「php.ini編集」に
session.save_path = "/home/【ユーザー名】/session-zzz"
を設定し、
「user.ini編集」に
session.save_path = "/home/【ユーザー名】/session-zzz/kaimonojyoz.jp"
を設定しておくことで、
セッションの保存先は、正常時は「user.ini編集」に記載した個別パス
session.save_path = "/home/【ユーザー名】/session-zzz/kaimonojyoz.jp"
が適用されます。
万が一、ConoHaの不具合で「user.ini編集」が空になってしまった場合でも、「php.ini編集」に記載した共通パス
session.save_path = "/home/【ユーザー名】/session-zzz"
が安全弁(フォールバック)として自動適用されるため、503エラーを防ぐことができます。
なお、一般的な標準WordPressサイトであれば「php.ini編集」「user.ini編集」のどちらにも session.save_path を記入していなくても503エラーにはなりませんが、
- 確認画面付きの問い合わせフォーム(MW WP Form等)や認証系プラグインがあるサイト
- ECサイト(WooCommerce等)やセッションを利用するプラグインがあるサイト
- functions.phpなどで独自にセッション(session_start)を実行しているサイト
では、「php.ini編集」「user.ini編集」にて session.save_path が未記入だと503エラーが発生するリスクが非常に高いようです。
ConoHa WINGで503エラーになる場合の解決方法は以上です。