wordpressの予約投稿が失敗するので対処してみた

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

ブログを書いていて、最近気がついたことがある。

なんと、デイリーのPVが伸びてきた。

1ヶ月ぐらい、それまでのマンネリ投稿を思い切って、毎日投稿すると決めて、投稿数が100原稿を超えたあたりから、日に30PVぐらいのPVになってきた。

1ヶ月でいうと900PVでabout-1000PVに近づいてきた。

WordPressの予約機能を使ってみる。

このまま、投稿を安定させるために、wordpressの機能の「予約投稿」をしてみようとセットしたところ、「予約投稿の失敗」との文字・・・

linux-osなのでcronかsqlのアクセス権限なのか?・・・と思っていたが、
wordpressは「wp-cron.php」というモジュールがroot階層にあり、これがosのcronではなく、ソフトウェア独立型で実行してくれるようだ。

結果・・・

仕組みとしては、誰かが、トップページにアクセスした時がイベントになるようで、
どうやらその時にエラーが出ているようなんだが、

sshでサーバーにアクセスしてwww-dataの権限で

として、400エラーが返っていました。

他のサイトでの助言

バージョンアップしてみる

そのサイトは、3.9を3.9.1にアップしたところ、うまくいったそうですが、この時点で、このブログサイトは4.0でした。
眉唾だが、最新の4.1にアップしてみました。
ダメでした。変わらず、予約エラー。

さらに原因追求

他にも、wp-cron.phpのalternativeモードをtrueにする。というのもあったが、バージョンが違うのか、その設定が、見つからない。

あと、実際にcron登録して解決するというのもあったが、本末転倒なので、これは無視。

もう大体答えは見えているんだが、400エラーが返っているので、ドメインを自己解決出来ていないということでしょうね。

wordpressの仕組みは、管理画面や、ブログ表示部分まで、jsやcssモジュールをドメインから呼び出している。

このサイトは、自宅サーバーで立てており、自宅内からはローカルサーバーのipアドレスになるので、DNSでの名前解決が出来れば、この問題も解決すると思った。

余談だが、この手のサービスは、運用管理なども考えて、ローカルとグローバルはハイブリッドで構築するのが当たり前と思っていたんで、少し不満は残ります。

対応方法

を追記するだけ。

・・・すると・・・見事に予約アップ出来ました。

サービスのあり方を改めて、勉強させられました。

以後の開発に役立てましょう。

追記

その後、bindなどで、インフラ構成が変わった際に、以下の対応も必要になったので、必要な方のみ参考までにどうぞ

/etc/resolv.conf

2 comments

  • ありがとうございます。

    自宅サーバをBUSTERで最新の環境で設定しました。そうしたら、wordpressのサイトヘルスでへんてこなエラーが出て対処できずに悩んでおりました。
    サーバ設定で何かが足りないと色々検索していたところ、このページにたどり着き、上記etc/hostsに設定を行ったら見事に解消しました。

    感謝いたします。

    • ご丁寧なコメントをいただきまして、ありがとうございます。
      何かしらの参考になったのであれば、幸いです。
      今後とも宜しくお願いいたします。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です