【WordPress】 503エラー:”can’t apply process slot”のphp-cgiエラー対処方法、レンタルサーバー「XServer」

【WordPress】 503エラー:”can’t apply process slot”のphp-cgiエラー対処方法、レンタルサーバー「XServer」

503エラー発生 原因:「can’t apply process slot」の対処方法

2018年4月22日、公開済みの動画を削除し、新しいものをアップしたら、突然、503エラーが多発しました。
WordPressにもログイン困難な状況が発生し、どうにか対処できたのですが、同じような事象で困られている方の参考になればと思います。

 

503エラーが発生する要因

発生要因は多々ありますが、一般的にはアクセス集中にいる一時的な負荷が大半ですね。この対処方法はインターネット上に豊富にありますので、検索すればすぐに解決できます。今回、私が解決案をご紹介するのは、リソース存在チェックエラー(404エラー)の負荷で発生するものです。

 

503エラー:アクセス集中による負荷

503エラーが発生する一番多い要因は、サイトへのアクセス集中による、一時的なサーバー負荷です。サーバーの負荷が大きくなれば、処理能力が著しく劣化しますので、画面表示処理が行えずタイムアウトしてしまいます。このタイムアウトが発生すると、503エラーのページが表示されます。頻繁に発生する場合には、レンタルサーバーの性能をアップするか、不要なプラグインの削除や、XServerのサポートもおすすめしている、「WP Fastest Cache」や「W3 Total Cache」を使用したりすることで改善されます。

 

503エラー:ヘルスチェックによる負荷

公開済みの動画(正確にはインデックス登録された動画)を削除した場合に、動画のヘルスチェックに対して、404エラー(存在しません)が返却されます。これは継続(リトライ)して実行されるため、404エラーが多発しますが、その結果、サーバー負荷となり、503エラーが発生します。

根本原因は、”公開済みのリソース(私の場合は動画)削除”となります。

 

503エラーの原因特定

503エラーの原因特定について説明していきます。

 

レンタルサーバー:XServerへの原因問い合わせ

私のレンタルサーバーはXServerですので、耐久性に優れているため、まず、XServerが原因であることは考えられませんが、何か情報がもらえるかもしれないと思い、サポート窓口へメールを行いました。

私がXServerにしている理由は、”アフィリエイトに最適なサイト構成”を参考にしてください。

そしたら、日曜日にも関わらず、すぐにメール返信がありました!!XServerのサポートは素晴らしいですね!!

お問い合わせの件につきまして、当サポートからURL「http://rpa-affiliate.com」を確認いたしましたところ、正常にWEBサイトが表示されております。

ただ、ご連絡くださいました情報を元に当サポートにてエラーログを確認いたしましたところ、サーバー側の不具合ではなく、お客様のサーバーアカウントにおきましてプログラム負荷が高まったため、一時的なリソース制限が行われ、その影響で503エラーが発生していたようでございます。

当サービスではPHPやCGIプログラムの実行、FTP接続、IMAP接続など全ての動作における合計に「同時稼動数」の上限を設けております。

「同時稼動数」が上限に達しますと、PHPやCGIの実行で500エラーや503エラーが発生したり、IMAP接続に失敗するという状況が発生します。

そのような状況下で500・503エラーが発生している場合は、サーバーパネル「ログファイル」にてエラーログを確認していただければ
リソース制限によるものかどうかをある程度確認することが可能です。

エラーログには以下のようなログが記載されますので、参考にしていただければと存じます。

▼500エラーの例(全てではございません)
————————————
Resource temporarily unavailable(PHP実行時)
Premature end of script headers (CGI実行時)
suexec policy violation: see suexec log for more details(CGI実行時)
mod_fcgid: can’t apply process slot for(FastCGI実行時)
————————————

▼503エラーの例(全てではございません)
————————————
(104)Connection reset by peer~
End of script output before headers~
mod_fcgid: can’t apply process slot for~ ←★今回のパターン
————————————

当サーバーでは他のユーザー様へ負荷の影響を及ぼさぬよう、このような処理を行っておりますので、ご理解くださいますよう、何卒よろしくお願い申し上げます。

また、当該エラーが今後も頻発するという場合は、以下のマニュアルなどご参考いただき、サーバー上でご利用のプログラムの負荷軽減などを、お客様ご自身で行っていただく必要がございます。

■よくある質問 – ホームページ
(「503 Service Temporarily Unavailable」というエラーが表示されてホームページが見られません。)の項目をご覧ください。
https://www.xserver.ne.jp/support/faq/faq_service_hp_trouble.php

WordPressをご利用の場合は、以下もあわせてご確認いただければと存じます。

■よくある質問 – WordPress
(WordPressで作ったサイトへのアクセスが増えてきました。負荷対策としてできることはありますか?)の項目をご覧ください。
https://www.xserver.ne.jp/support/faq/faq_service_hp_wp.php

当サーバーでは他のユーザー様へ負荷の影響を及ぼさぬよう、このような処理を行っておりますので、ご理解いただければ幸いです。

なお、ドメイン【rpa-affiliate.com】でご運用のWordPressでは負荷対策に有効な『キャッシュプラグイン』が導入されていない
ようでございます。

「WP Fastest Cache」や「W3 Total Cache」など、著名なプラグインを1つ導入し、有効化することで改善する可能性がございますので、お試しいただければと存じます。

※不要なプラグインがございましたら、停止するなどもご検討をお願いいたします。

何かご不明な点がございましたら、お気軽にお問い合わせください。
何卒、よろしくお願い申し上げます。

はい、想定通りの結果ですね。

XServerの問題ではなく、XServer上で動作しているアプリケーションの問題なので、お客様ご自身で解決して下さいとのことです。

 

XServerのログ解析

発生している原因はログをみないと正直分かりません。XServerのログ取得について説明します。

XServerのサーバーパネル(ServerPanel)にログインしてください。ログイン方法はこちら

次に、赤枠の「ログファイル」を押して、ログ取得を行いたいドメインを選択してください。

ダウンロードを実行して、ログファイルを保存してください。

保存したログファイルを開いてみてください。そこに原因が記載されています!!

■実例:私のサイトのログ(IPやサーバーIDはXXXに置換してます)

[Sun Apr 22 03:01:22.624743 2018] [fcgid:warn] [pid 111476] [client XXX.XXX.XXX.XXX:53856] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/IMG_1217.mp4
[Sun Apr 22 03:01:24.653705 2018] [fcgid:warn] [pid 111481] [client XXX.XXX.XXX.XXX:53926] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/IMG_1217.mp4
[Sun Apr 22 03:01:25.662717 2018] [fcgid:warn] [pid 111484] [client XXX.XXX.XXX.XXX:53950] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/7800150789717.mp4
[Sun Apr 22 03:01:26.640491 2018] [fcgid:warn] [pid 111488] [client XXX.XXX.XXX.XXX:53960] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/7800150789717.mp4
[Sun Apr 22 03:01:26.643987 2018] [fcgid:warn] [pid 111489] [client XXX.XXX.XXX.XXX:53962] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/IMG_1217.mp4
[Sun Apr 22 03:01:27.622596 2018] [fcgid:warn] [pid 111495] [client XXX.XXX.XXX.XXX:54022] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/IMG_1217.mp4
[Sun Apr 22 03:01:34.572396 2018] [fcgid:warn] [pid 111508] [client XXX.XXX.XXX.XXX:54292] mod_fcgid: can’t apply process slot for /home/userfastcgi/xxxxxx/rpa-affiliate.com/php-cgi, referer: https://rpa-affiliate.com/wp-content/uploads/2018/04/IMG_1217.mp4

皆様のログは、どのよう内容でしょうか?

これは、IMG_1217.mp4を削除したのですが、既に公開済みの記事だったので、サーバーはあるはずと認識して存在チェックを行い続けています。これが負荷の原因で、WordPressへのログインすら出来ない程の負荷を作り出しています。

「can’t apply process slot for error」のメッセージは、ウェブサーバーのFcgidMaxProcesses (サーバー内のすべてのユーザに対するFCGIDの起動する総プロセス数)の上限に達したという意味となりますが、XServerのような共用サーバーでは設定を調整できませんね。
上限に達した場合、サーバーのリクエストに対し新たなFCGIのプロセスを作ることができなくなっている状態です。

 

503エラーの対応方法

対応方法について説明していきます。私と同じような原因であれば、皆様も解決する可能性が高いです。

何より負荷が高い場合はWordPressへログインができませんので、解決したくてもできない!というのが、一番やっかいな問題かもしれませんね。

 

WordPressへのログイン

おそらく、本事象が発生している皆様は、WordPressにログインできない状態だと思いますので、特定端末以外のアクセスを許可しないようにしてXServerより設定を変更し、WordPressへログインできる状態を作ります。

サーバーパネル(ServerPanel)にログイン後、”.htaccess編集”をクリックし、以下の内容を追加します。

Order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX

XXX.XXX.XXX.XXXは、WordPressへログインしようとしている端末のグローバルIPアドレスです。

調べ方はこちらをクリックして確認してください。

最後に、「.htaccessを編集する(確認)」ボタンを押してもらえれば設定完了!!!

通常通り、WordPressにログインできます。

 

削除した動画をアップする

ここは皆様の原因に応じて対応が必要です。
※対応方法に困った場合、分からない場合は遠慮なくコメントをいただくか問い合わせよりご連絡ください。

私の場合は、”公開済みの動画を削除した”ことが原因ですので、再度、公開済みの動画をアップし解決しました。

公開済みの動画は削除しない方が無難ですね~

サイト運営カテゴリの最新記事