WordPress サイトで、長時間 500 Internal Server Error発生。解決した方法とは。
2019.06.18
この記事は最終更新日から1年以上が経過しています。
どもです。。
久々の更新となります。
色々とサービスやら、アプリケーションを作成しておりました。
それはそうと、表題の件となりますが、「Wordpress サイト」とは何かと言いますと。
そう。
このウェブ帳を長時間 500エラーにさせてしまったぁあぁ。
というのも
発生した経緯
ウェブ帳で、ページ遷移したり、記事更新などリクエストが発生する度に、よく500エラー発生するようになりました。
プロセスがメモリ喰ってんのかな?
とか思いつつ、思いっきりサーバー再起動したところ、ウェブ帳全ページで500エラー発生!!!
おぉお。。おう。
真っ先に、php-fpmが原因だと 再起動。→ 治らない。
でも、なんだかんだphp-fpmが原因だろ。→ php-fpm使用している別サイトは影響なし。
なんと。。
nginx設定やら、アクセスログをやエラーログをテールして色々と確認する。
怪しいphpを外したり、function.phpを対象外にしたりしたのですが
作業に入れる時間も限られていて、調査の時間切れ。
それから、確認できないまま6時間程、ダウンタイム。。
長時間はSEOにも関係するのと思っていたら、どうもネットの記事だと1日くらいは大丈夫みたいですが。
本当かよ。
といった気持ちです。
WordPressファイルのパーミッション
途方にくれ、ネットを散策していると、
WordPressのファイルとフォルダのアクセス許可に関する推奨事項を見つける。
- すべてのファイルを644(-rw-r–r–)または640に設定
- すべてのディレクトリは755(drwxr-xr-x)または750に設定。
- アップロードダイレクトリーでも、777のディレクトリを一切設定してはいけない。
- wp-config.phpは、サーバー上の他のユーザーが読み取ることができないように、440または400に設定必須。
ふむふむ。
あぁ。そういえばそうだったね。
wordpress自体も今はガッツリ触っていないので、少し忘れていた事柄。
とりあえず、ダメ元(もっと別の根本的な原因がありそう)でやってみるかと。
ユーザー権限もすべて 適切なユーザーに変更。
以下のワンライナーコマンドで一発で変更を試みる。
まずは、ディレクトリから。
ディレクトリ
# find . -type d -print | xargs chmod 755
確認。
うんともすんとも言わない。(変わらず500エラー)
その次に、ファイルのパーミッションを一発で変更。
ま。だめだろな。
ファイル
# find . -type f -print | xargs chmod 644
確認。
やっぱ、だめだよな…
うん?
何やらクロームさんが一所懸命読み込んでいる。
明らかに今までと動きが違う。
き、来そうだ!!
何だ、この感覚。
そうだ、テレビでよく見る
ウミガメの産卵から孵化して陸上に出てくるシーンと同じだ。
が、頑張れ。。
自然と声が漏れてしまう。
ゲージがもうすぐ満タンになろうかとしている。
そう、陸上へと出てくるのだ。
頑張って、出てこい。
そして、インターネットという海を泳ぐのだ!!!
き、き、キターーーー!!!
何故か、このサイトが、世の中に何十万、何百万も存在するサイトの中で一番弱々しくも素晴らしく見えた。
大きくなったら、またこの海岸に戻って来いよ。
。。。
ということで、
素直にWordPressの推奨に従いましょう。
というオチでした。
(たまに発生してた500エラーも完全になくなりました)