cgi
概述:一个针对web服务器编写的应用程序,可以独立运行,支持大多数编程语言C++、java等
作用:表单的处理、数据库的访问、搜索引擎、基于Web的数据库访问等
CGI发展
最初cgi使用
当有一个动态请求,web服务器会通过php解析器(php cgi)创建一个进程,php解析器会读取配置文件、加载扩展等初始化环境,处理请求,返回结果给web服务器,之后关闭进程;每当有动态请求,都会重复操作创建进程、关闭进程等
web服务器内置cgi
跟着web服务器一起启动,加载配置文件、初始化环境等,即使用不到也会常驻内存,比较占内存,
例:apache的mod_php 、iis的isapi、nginx的php-fpm
fast-cgi
常驻内存的应用程序,用来管理cgi进程,详情看图
php-fpm
FastCGI Process Manager 即PHP fast-cgi进程管理器
一个master进程、多个 worker进程,每个worker进程都有php解释器