1:什么是CGI?服务器端编程语言(如php/java)与Web服务器之间传输信息的协议,规定了http头、表单等信息的传输接口;2:什么是FastCGI?它本质上是一个协议,是CGI的升级版,回到正题,它起什么作用,监管的作用,所有协议的作用都是监管。请注意,这不是一个过程。Nginx基于这个协议扩展了一个模块,也叫FastCGI,但是要说三遍,FastCGI和CGI都是协议,不是进程;FastCGI和CGI都是协议,不是进程;FastCGI和CGI都是协议,不是进程;相比CGI,它的优点如下:1.监听,不需要每次收到请求都加载配置文件,临时设置一个进程进行处理,而是一个常驻内存的进程,可以作为处理一旦有请求立即处理;2.一主多工,类似Nginx。如果worker的数量和机器的核心数相等,并且一一绑定,会提高性能,有效利用CPU资源;3.平滑启动,这在Nginx中也有。修改配置文件后,worker会及时更新配置。三:那么,什么是php-fpm?它是一个命令行工具,也叫进程管理器,在运行过程中会有若干个php-fpm进程。其特点如下:1、实现了FastCGI协议;2.用于管理php解释器(php-cgi)。FastCGI协议的优点在上面三点已经说的很清楚了。画外音:是不是有点迷糊,比如你(php解释器)不听话,老师(电脑)反正管不了,然后,老师说你要是不想听再次,告诉你爸爸(FastCGI),让你爸爸收拾你。你想想被你爸踢(老师会做,实现了FastCGI协议),那也没关系,乖乖听话,你就会从一个叛逆的孩子变成好学生。从此,我一路蒸蒸日上,嫁给了白富美,走上了人生巅峰,拯救了全人类,终于驾驭地球穿越到了银河系。行,老大让我先把地球停了,你继续开。关于Nginx与服务端编程语言的交互Nginx若想与服务端脚本语言传递信息,必须使用FastCGI模块配置详情:http://www.nginx.cn/doc/stand...关于Nginx的反向代理和负载均衡;这两个一般放在一起,反向代理不单独配置。配置详情:http://www.nginx.cn/doc/stand...如果你想更自由的配置Nginx怎么办?有办法,Nginx模块合集就在??这里,随便用,良心推荐。Nginx模块百科:http://www.nginx.cn/doc/扩展问题:Nginx是一个进程,php-fpm也是一个进程。他们如何相互沟通?进程之间有哪些通信,应用场景有哪些?哈哈,至少三种(管道、信号、套接字);数据结构有什么用?(太TM有用了,每本计算机相关的专业书都不提这个,就跟要死一样)。作为一名PHP程序员,我应该学习数据结构吗?认为应该。而且应该用C来学,因为只有不断学习,才能突破40岁没用的魔咒。很多人说,40岁失业的程序员找不到工作。担心?大家怎么看,如有错误,还请大家帮忙指正。
