FastCGI+Apache+php インストールメモ(mod_fastcgi)
mod_fcgid と mod_fastcgi は別物
mod_fcgidは、Apache.orgから提供されているモジュール → https://httpd.apache.org/mod_fcgid/
mod_fastcgiは、fastcgi.comから提供されているモジュール → http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
どちらも Apache に追加するモジュールで、どちらかがあれば phpでfastcgi できる。php側はfastcgiに対応している(php-fpm)。
今どきの環境なら、mod_proxy_fcgi と php-fpm で簡単に済ませたいところだが、そうもいかない場合は mod_fcgid か mod_fastcgi で。
php-fpm のインストール
yum install php-fpm
自分でコンパイルしているphpなら、--enable-fpm
を追加して ./configure
php-fpm の設定
RPMでインストールしたら、 /etc/php-fpm.d/www.conf のようなファイルがあって、だいたい設定済み。
自前でコンパイルしたphpなら、/インストール先/etc/php-fpm.conf.default
や /インストール先/etc/php-fpm.d/www.conf.default
のようなファイルがあるので、コピーして設定を入れる。実行ユーザーの調整など軽い変更だけで使えると思う。
php-fpm の起動
RPMでインストールしたら、 /etc/init.d/php-fpm start で起動。
自前でコンパイルしたphpなら、/インストール先/sbin/php-fpm
を実行。
必要であれば自動起動は別途設定すること。
mod_fastcgiのインストール(RPMで)
RPMを入手(一覧から適切なものを選んで http://pkgs.repoforge.org/mod_fastcgi/)
wget http://pkgs.repoforge.org/mod_fastcgi/mod_fastcgi-2.4.6-1.el6.rf.x86_64.rpm
インストール
yum install mod_fastcgi-2.4.6-1.el6.rf.x86_64.rpm
mod_fastcgiの設定(Apacheの設定)
RPMでインストールすると、/etc/httpd/conf.d/fastcgi.conf
が作成されていて、以下のモジュールのロードも追加されているはず。
LoadModule fastcgi_module modules/mod_fastcgi.so
あとはこんな設定を適用すれば、該当のディレクトリ内の *.php の拡張子でphpがFastCGIで実行される。
Alias /php7/ "/home/apache/vhosts/default/www/php7/" FastCGIExternalServer /home/apache/vhosts/default/www/php7/php-cgi -host 127.0.0.1:9000 -pass-header Authorization Action php-fastcgi /php7/php-cgi <Directory /home/apache/vhosts/default/www/php7> <FilesMatch ".+\.php$"> SetHandler php-fastcgi </FilesMatch> </Directory>
(設定の仕方はいろいろあるらしい。動くものの問題のある設定もいろいろあるらしい。)
Apache+mod_fastcgi+php-fpmでphpinfo()
phpinfo.php(ファイル名は任意)というファイルに <?php phpinfo();
とだけ書いて、ブラウザでアクセスすると、おなじみのphpinfoの画面が表示される、はず。
コメント