APサーバー:PHP-FPM

PHP-FPMとは

アプリケーションサーバ
プログラムの通信プロトコルとしてFPMを採用している
FPM = FastCGI Process Manager

CGI

Common Gateway Interface
Webサーバ上で動作させるプログラムの通信プロトコル(通信・起動仕様)
この仕様に基づいて作成されたプログラム=CGIプログラム。Perlが多い。

WEBサーバがリクエストを受けてから、CGIを起動してCGIの結果をレスポンスとして返す
=リクエストの度にプロセスの生成と破棄が実行される
=負荷が大きい・処理速度が遅い

FastCGI

CGIの問題点を解決したプログラムの通信プロトコル(通信・起動仕様)
初回リクエスト時に起動したプロセスをメモリ上に保持、次回リクエストでは保持されたプロセスを利用する
=負荷が小さい・処理速度が速い

設定ファイル

www.conf

/usr/local/etc/php-fpm.d/www.conf

[www]
実行ユーザー
user = www-data
group = www-data

nginxとPHP-FPMの通信設定:TCPの場合
listen = 127.0.0.1:9000

nginxとPHP-FPMの通信設定:UNIXドメインソケットの場合
listen = /var/run/phpX-fpm.sock

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Follow me!