HHVMとPHP
去年の夏「RedHat系LinuxからDebian系Linuxへ移行」した時、言語処理系もPHPからHHVMへ移行したけれど、HHVMのPHP互換が予想外に早く終息となってしまい対応が必要になってしまった。Wikipediaで有名なMediawikはHHVMサポートを明言しているので今後もHHVM環境で大丈夫。問題はWordpressの方で、過去に一度もHHVMの公式サポートを明言していなかったのが、ここに来てPHPのみサポートすることを明確にしたようなので、WordpressはHHVMからPHPへ戻す事に。と言っても過去のバージョンという訳にも行かないので、「NGINX + HHVM」と「NGINX + PHP-FPM」で使い分ける事になった。
location ~ \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT/$fastcgi_script_name; include fastcgi_params; }
location @wordpress { fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT/index.php; include fastcgi_params; }
PHPのバージョンとしては7.2が入っているのだがワードプレスのサイトヘルス機能によると、まだ不十分なようで最新に上げたらどうですか、と言われてしまいました。(笑)
PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
速度的には大差ないように思うのはスペックが極端に低いので違いが出ない事によるとは思う。とりあえず両者ともに最大で256MBのメモリ設定としている。あっそうだ、この変更に合わせてデータベースインスタンスを別居させました。「検索エンジンの分離」で使ったアマゾンのVPSへ同居させました。EC2をフロントエンドとしてNGINX + HHVM / NGINX + PHP-FPMを稼働させ、バックエンドではVPSでMariaDBとElasticsearchを稼働させて役割分担を明確化しました。監視用途のZABBIXサーバーはNTT-PCコミュニケーションズのVPSで稼働しています。