さくらのVPSの512Mプランで、HHVMを使ってWordPressをできるだけ安定するように動かしてみた。

WordPressの表示高速化によく利用されるHHVMですが、安定稼働させるにはある程度のメモリ容量が必要になります。使いたいのはやまやまですが、このブログのようにあんまりPVが多くない場合、メモリが多いサーバを使うのはもったいない気がします。
というわけで、さくらのVPSの512MプランでHHVMを利用するために試行錯誤してみました。

この記事は「WordPress Advent Calendar 2015に参加したかった人達の Advent Calendar 2015」の12/12のエントリーです。

 

まずはHHVMとNginxをインストール

CentOS7にHHVMとNginxをインストールします。インストールの方法は割愛。いろんなブログエントリーがあると思うので検索してみてください。yumでインストールできるようにするサードパーティのレポジトリもあるので、それを利用するのが楽かなー。

ここで、NginxとHHVMで動かしてみたわけですが、メモリ周りの調整がシビアでよく落ちる(´・ω・`)
いろいろ試したら、管理画面での操作の処理で落ちることが多い感じでした。

 

代替策を考える

動くことは確認できたので、安定性を確保したい。せめて月1メンテくらいで済むようにできれば使えるかなと。
管理画面での処理をなんとかすれば、表示閲覧はHHVMの恩恵を受けられるわけなので代替策を考えました。

で、思いついたのが管理画面をphp-fpmで処理させ、サイト表示部分だけをHHVMで処理するという方法。というわけで、試してみました。

 

設定してみる

設定ファイルの一部を掲載しますが、これだけじゃ動かないのでいろいろやってみてくださいね(ΦωΦ)

 

まず、プロキシで/wp-adminへのアクセスをポート8001に、それ以外をポート8000に流すように設定。
hhvmはfastcgiモードで動かし、ポート8000の方のアクセスの場合に利用するように設定。
php-fpmはポート8001のアクセスの場合に利用するように設定。

あとは、それぞれがNginxで安定して動くようにメモリ周りの設定を適宜変更すればOK。とりあえず動くようになりました。記事公開時はこの構成で動いてますよ(・∀・)

 

まとめ

まぁはっきり言っておすすめはしません。

これでもたまに落ちるので、安定稼働させたい場合はメモリ多いサーバにするか、別の構成を考えましょう。最近PHP7もリリースされましたしー。
データベースの方の最適化も行えばもっと早くなるかなとは思うので、もうちっと手を入れてみようかなと思います。先にPHP7にしてしまうかもしれませんがー( ˘ω˘)

こんなこともできるという一例として記憶の片隅にでもおいておいていただければいいかなーと思います。
では、ヾ(・д・。)マタネー♪