前回nginxの設定を書きましたが、今回はFastCGIについてメモ。
そもそもCGIとは?
主に動的なページの生成においてサーバー(この場合はnginx)とプログラムとの間で情報をどのようにやりとりするかを決めたプロトコル。
CGIのデメリット
個々のリクエストごとに別々のプロセスが起動されるため、メモリや各種の情報が要求ごとに失われる
プロセスの起動はシステムのリソースを大きく消費する。同時に大量のリクエストが来た場合、サーバがあっという間にごっちゃになる
FastCGIとは?
上記のCGIのデメリットを解決するために考え出された仕組み。
リクエストごとに新しいプロセスを起動するのではなく、複数の要求を処理できる永続プロセスを使う。
ソース
前回かいたソースの部分の説明
1 2 3 4 5 6 7 8 9 10 11 |
location ~ \.php$ { root /var/www/hoge.com; #fastcgiのポート番号 fastcgi_pass 127.0.0.1:9000; #fastcgi省略時のファイル名 fastcgi_index index.php; #サーバーへのパラメータの設定 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; } |
まだわからんことが多いので継続して勉強する必要あり・・・
参考リンク
わわわIT用語辞典 FastCGI
ダントツでわかりやすい。こういう説明ができる人は少ない。