一、Nginx和FastCGI配合的原因:
- nginx上只能部署静态网页
- 对于动态网页,比如登录页面,登录的数据nginx无法直接处理,这个时候需要调用第三方(FastCGI)模块处理。
二、什么是FastCGI
谈起FastCGI,那就的说一下它的父辈CGI,说白了就是一个程序,当需要数据交互时,web创建CGI子进程,然后CGI子进程处理请求,处理完结束这个子进程,每次fork子进程都需要启动自己的解释器、加载配置,连接其他服务器等初始化工作,这就导致在用户请求非常多的时候,会占用大量的内存、cpu,造成性能低下。相比CGI,FastCGI是由FastCGI进程管理器管理(spawn-fcgi),不再是web服务器管理,而且是常驻进程,可以一类业务fork一个进程。
三、请求处理流程
四、FastCGI和spawn-fcgi安装
spawn-fcgi安装
去 http://redmine.lighttpd.net/news/ 下载
./configure
make
cp ./src/spawn-fcgi /usr/local