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

目录
相关文章
|
4月前
|
网络安全 PHP 开发者
IIS服务器发布PHP网站
IIS服务器,相信开发者都不会陌生,它的英文全称是Internet Information Services,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,常用于Windows系统的Web项目部署,本篇以PHP项目为例,讲解如何使用IIS完成PHP项目的发布。
56 0
|
1天前
|
PHP Android开发
android通过http上传文件,服务器端用php写(原创)
android通过http上传文件,服务器端用php写(原创)
|
9天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
49 3
|
1月前
|
应用服务中间件 Linux PHP
linux 查看nginx状态和php-fpm状态 nginx-status和php-status
linux 查看nginx状态和php-fpm状态 nginx-status和php-status
13 0
|
2月前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
34 0
|
2月前
|
监控 安全 容灾
PHP服务器稳定性保障
确保PHP服务器稳定性,需关注以下几点:配置合适硬件及优化操作系统;使用最新稳定版PHP,及时更新安全补丁;编写高质量代码并优化性能;处理异常,记录日志以便监控;管理资源,使用性能监控工具;加强安全防护,如权限设置、防注入攻击;采用自动化部署和持续集成工具;定期备份数据,建立容灾机制。
20 0
|
3月前
|
弹性计算 PHP
ECS续费问题之PHP运行环境到期如何解决
ECS续费是指对已创建的阿里云ECS实例执行的续费操作,以延长其服务期限;本合集旨在为用户提供ECS续费的操作步骤、策略选择和注意事项,确保业务的持续性和成本的优化。
ECS续费问题之PHP运行环境到期如何解决
|
5月前
|
Ubuntu 应用服务中间件 PHP
Ubuntu 非手动编译安装 PHP8 和 Nginx
Ubuntu 非手动编译安装 PHP8 和 Nginx
53 0
|
5月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
28 5
|
5月前
|
NoSQL 关系型数据库 应用服务中间件
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
94 0