web-dev-qa-db-ja.com

mod_phpとfastcgiを並べて実行する方法は?

現在のサーバー構成がFPM/FastCGIを実行しているときに、特定のスクリプト(Apache confのvhostまたはディレクトリ設定のいずれかにある可能性があります)をmod_phpとして実行するにはどうすればよいですか?

サーバーOS:Ubuntu-サーバー11.04

2
Highway of Life

簡単な答えは、mod_phpphp_fcgiをインストールするだけで、どの構成でもx-application PHPハンドラーを定義しないでください。 mod_phpを使用します。

Mod_phpとfastcgiの両方でPHP)を実行するには、PHP-FPMとApachemod_actionsを使用することもできます。

Apache用にmod_fcgimod_actionsをインストールします。 PHP-FPMをインストールして構成します。

そして、次のブロックを仮想ホスト構成に追加します

<IfModule mod_fastcgi.c>
<IfModule mod_actions.c>
    FastCGIExternalServer /var/www/<document_root_path>/php.fastcgi -socket /var/run/php-fpm.sock

    Action php-fcgi-script /php.fastcgi virtual

    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
        SetHandler php-fcgi-script
    </FilesMatch>
</IfModule>
</IfModule>

UNIXソケットをリッスンしてPHP-FPMを実行することを好みます。

ただし、PHP-FPMをローカルポートで実行するように構成することもできるため、-socket構成パラメーターを-Host ip:portに変更する必要があります。

FastCGIExternalServer構成 http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer

1
Artem Oliynyk