[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岁还能为生计发愁?

目录
相关文章
|
14天前
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
21 4
|
1月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
1月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
43 3
|
2月前
|
设计模式 数据库连接 PHP
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月前
|
监控 物联网 数据挖掘
PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
【8月更文挑战第4天】PHP不仅在Web开发领域有着广泛的应用,其在服务器端的应用也非常重要
58 8
|
3月前
|
应用服务中间件 Linux PHP
Linux搭建tengine2.0<Nginx>+php7环境
本文介绍了在Linux系统上搭建Tengine 2.0(一个Nginx的增强版本)和PHP 7环境的详细步骤,包括创建安装目录、下载源码包及依赖库、编译安装Nginx、配置Nginx、安装PHP及其依赖、设置PHP-FPM、配置环境变量、安装Git和Composer,以及服务管理和日志查看等。
86 0
|
3月前
|
Ubuntu 应用服务中间件 Linux
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
25 0
|
5月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
110 1
下一篇
无影云桌面