cgi、fast-cgi、php-cli、php-fpm
cgi 协议模式
- cgi 协议模式
- fast-cgi 协议模式
- php-fpm
- php-cli模式
- 总结
- Nginx本身不能解析PHP的语法,所以Nginx对于静态文件(如HTML等)会直接解析返回结果,但是对于PHP的文件,Nginx会转交给PHP的解释器php-fpm进行处理,处理完后再返回响应给客户端浏览器。
cgi模式 通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信, 调用原理大概为:
用户请求—>Web服务器接收请求—>fork子进程—>调用程序/执行程序—>程序返回内容/程序调用结束—>web服务器接收内容—>返回给用户,由于每次用户请求,都得 fork 创建进程调用一次程序,然后销毁进程,所以性能较低。
fast-cgi 协议模式fast-cgi是cgi模式的升级版,它像是一个常驻型的cgi,只要开启后,就可一直处理请求,不再需要结束进程,调用原理大概为:
web 服务器 fast-cgi 进程管理器初始化—>预先forkÿ