どurakuの作ったもの、作ろうとしているもの、作ろうとしていたものの近況。AMIが先日バージョン2017.09となりました。1.0.2k)等、それなりに変更点の大きいリリースとなっており、これによりディストリビューション標準のパッケージのみでApache/Nginxのhttp/2に対応できるようになりました。ソースコンパイルを伴うミドルウェアは実運用においては、メンテナンス性に難が有りましたが、今後は簡単に導入が可能なはずです。「今こそ」、なタイミングかと思いますので対応していきます。updateしてください。古いリリースはセキュリティ修正も行われません。7.1を使っています。Webサイトは(常時)SSL/TLS対応になっているものとして進めます。Encryptなど各種方法で対応して下さい。ロードバランサELB(ALB/CLB/NLB)は未導入のものとして話を進めます。MPMではなく別のMPMを使う必要が有るからです※1。その為、PHPをApacheモジュール版ではなく、php-fpmで動作させる必要があります。導入手順php-fpmをyumからインストール。preforkpreforkで動いています。OKスレッド数の部分で警告が出ていますが、これは後で修正します。バーチャルホストの設定PHPファイルの実行をphp-fpmに渡すための設定を追加する。Apache(やNginx)とphp-fpmの接続は、UNIXドメインソケットと127.0.0.1:9090へのTCP/IP接続が選べますが、ApacheとPHPを同じサーバーで実行する場合は、応答速度の速いUNIXドメインソケットの方で設定します。対象のバーチャルホスト設定に以下を追記。拡張子がphpのファイルをphp-fpmに渡します。"proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://localhost"&amp;amp;amp;amp;amp;amp;lt;/FilesMatch&amp;amp;amp;amp;amp;amp;gt;FilesMatchにマッチしたファイルしかphp-fpmに渡されない事に注意。OKphp-fpm側の設定ユーザーの設定やソケットファイル名の設定など修正。apache,nginxphp-fpmのログレベルをnoticeからwarningに変更する。]まずはこの時点でWebサイトが正常に表示されることを確認する。eventあとはドキュメントルートに適当にphpinfoを実行するファイルを置いて確認。2.0」ではなく「FPM/FastCGI」と表示されていればOK。phpinfo();※確認後はこのファイルの消し忘れにご注意ください。MPMかつ、php-fpmでPHPが動作する環境になりました。MPMがeventになった事により、多数のアクセスに対しても(適切にチューニングをすれば)preforkよりもスケールする事が出来ると思われます。http2/対応ここまでくればhttp/2対応は簡単です。restartこれでもうhttp2対応です。Apacheで出ている、MaxRequestWorkersやThreadsPerChildのワーニングについては、MaxRequestWorkersがThreadsPerChildの整数倍になるように、各自調整を行ってください。ここの調整はアクセス数などによっても異なります。