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