PHP on Apache2.4 & RedHat 6 (by SCL) その2
mod_php を使う方法に変更。RedHat 6 by SCL の環境構築は、こちらに落ち着きそうです。
使ってるのは Apache 2.4.6, PHP 5.5.6。
先日書いた PHP on Apache2.4 & RedHat 6 (by SCL) - AWS / PHP / Python ちょいメモ にて、FastCGIを使ってホストする方法をまとめました。なぜFastCGIだったかというと、高速そうだから使ってみたかったという面と共に、mod_php のパッケージ名がわからなかったという面もあり。
構成
インストール確認
php55-php をインストールすると、次のファイル群が生成されまして、デフォルトでOnになります。
# 次のようなグローバル設定 <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
# preforkの場合に動作 <IfModule prefork.c> LoadModule php5_module modules/libphp55-php5.so </IfModule>
ちなみに prefork かどうかは、こちらのファイルで設定されています
- /opt/rh/httpd24/root/etc/httpd/conf.modules.d/00-mpm.conf
切替理由
FastCGIで行けるなら行こう!と思っていたのですが、CakePHPを動作させるにあたり次のあたりが対処しきれずに mod_php 見つけたので乗り換え。ぐらいな感じで切替。
- .htaccess をProxyPassMatchに置き換え
- Ubuntu 14.04 の Apache mod_proxy_fcgi で php 動かすのは厳しい話 - はざまブログ にある影響が読み切れない
- RedHat6 + SCL 環境だと Apache 2.4.6 とチト古い
- 大きくパフォーマンスは要求されてない(ので、チューニング可能性よりも正常動作を優先)
その他
途中で調べだした MPM の event, worker については、こちらのブログが分かりやすいと思います。
Apach 2.4 は 3.0 でも、良かったんじゃないのかなぁと、細々遭遇するたびに思ったりします。不勉強なだけなんでしょうが。。。