[CGI,Nginx,FastCGI,编程语言,服务器端]FastCGI在PHP与Nginx之间的作用介绍

简介:   一:什么是 CGI?  服务器端编程语言如(如php/java)与Web服务器之间传递信息的协议,约定了http头、表单等信息的传递接口;  二:FastCGI 是什么?

  一:什么是 CGI?

  服务器端编程语言如(如php/java)与Web服务器之间传递信息的协议,约定了http头、表单等信息的传递接口;

  二:FastCGI 是什么?

  本质上是协议,升级版的 CGI,回到题目,起什么作用,规范作用,所有协议的作用都是规范。

  注意不是进程,Nginx 根据此协议拓展了一个模块,也叫FastCGI,但是重要的话说三遍,

  FastCGI 与 CGI 都是协议,不是进程;

  FastCGI 与 CGI 都是协议,不是进程;

  FastCGI 与 CGI 都是协议,不是进程;

  相比于CGI,它的优点有如下:

  1、监听,不用每收到一个请求就加载配置文件,临时起个进程处理,而是常驻在内存的进程,一有请求就能立即处理;

  2、一 master 多 worker,和 Nginx类似,worker 与机器的内核数量相等且一一绑定的话,会提高性能,有效地利用 CPU 资源;

  3、平滑启动,这一点 Nginx 也具备,当修改配置文件后,worker 会及时地更新配置。

  三:那么,php-fpm 是什么?

  是一个命令行的工具,也叫进程管理器,运行卖二手域名时会有若干个 php-fpm 进程。

  其特点如下

  1、实现了 FastCGI 协议;

  2、用来管理 php 解释器(php-cgi)的,

  而 FastCGI 协议的优点,上面三点已经讲得很明确了。

  画外音:

  是不是有点绕,就比如说你(php解释器)不听话,老师(计算机)怎么管都管不利索,然后呢,老师说你要不再不听说,就告诉你爸(FastCGI),让你爸收拾你,你一想万一被老爸一脚踹墙根(老师能做到,能实现 FastCGI 协议),那还得了,就乖乖听话,你就从叛逆少年就变成好好学生了,从此平步青云,迎娶白富美,走上人生巅峰,拯救全人类,最后开着地球去银河系旅游,好了,老板叫我,先把地球停这,你们继续开。

  关于 Nginx 与 服务器端编程语言的交互

  Nginx 要想与服务器端脚本语言传递信息,就得用 FastCGI 模块

  配置详情:

  nginx/doc/stand...

  关于 Nginx 的反向代理与负载均衡;

  这两个一般是放在一块说的,反向代理不单独配置。

  配置详情:

  nginx/doc/stand...

  如果想要更自由地配置 Nginx 怎么办?

  有办法,Nginx 模块大全在此,随便用,良心推荐。

  Nginx 模块大全:nginx/doc/

  拓展问题:

  Nginx 是一个进程,php-fpm 也是一个进程,他们之间是通过什么方式通信的呢?

  进程间的通信都有哪些,应用场景分别是什么?哈哈,至少三种(管道、信号、socket);

  数据结构有什么用?(太 TM 有用,每本计算机相关的专业书不提这个,就像会死)。

  作为一个 PHP 程序员,应该去学数据结构吗?

  觉得应该。而且应该用 C 学,因为只有不断学习,才能突破40岁就没用的魔咒,很多人说程序员40岁失业就找不到工作,我就不信,成为专家,在40岁还能为生计发愁?

目录
相关文章
|
22天前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
25 4
|
1月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
44 3
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
3月前
|
关系型数据库 MySQL PHP
PHP:一种强大的服务器端脚本语言
【8月更文挑战第23天】PHP是一种被广泛使用的开源服务器端脚本语言,它的强大和灵活性使其成为开发Web应用程序的首选。本文将从PHP的基本概念、主要特性以及应用场景等方面进行深入探讨,以期帮助读者更好地理解和掌握PHP。
|
3月前
|
Oracle 关系型数据库 MySQL
PHP:一种灵活而强大的服务器端脚本语言
【8月更文挑战第22天】PHP是一种广泛使用的开源通用脚本语言,尤其适用于Web开发。它快速、灵活且易于学习,使其成为开发者的首选。本文将探讨PHP的基本概念、优点以及如何开始学习PHP。让我们一起了解这个强大的工具,开启编程之旅吧!
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
3月前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!