SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

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の画面が表示される、はず。

関連するメモ

コメント