FastCGI 介绍

LNMP 环境的基本请求流程 :当 LNMP 组合工作时,首先是用户通过浏览器输入域名请求 Nginx Web 服务,如果请求的是静态资源,则由 Nginx 解析返回给用户;如果是动态请求,那么 Nginx 就会把它通过 FastCGI 接口发送给 PHP 进行解析,如果这个动态请求要读取数据库数据,那么 PHP 就会继续向后请求 MySQL 数据库,以读取需要的数据,并最终通过 Nginx 服务吧获取的数据返回给用户,这就是 LNMP 环境的基本请求流程。

CGI 简介 :最早的 Web 服务器简单地响应浏览器发来的 HTTP 请求,并将存储在服务器上的 HTML 文件返回给浏览器,也就是静态 HTML。事物总是不断发展,网站也越来越复杂,所以出现动态技术,但是服务器并不能直接运行 php,asp 这样的文件,自己不能做,外包给别人吧,但是要与第三做个约定,我给你什么,然后你给我什么,就是我把请求参数发送给你,然后我接收你的处理结果给客户端,那这个约定就是 common gateway interface,公共网关接口,简称 CGI。简单来说就是由 CGI 去调用 php 或其他动态语言来执行 php,asp 这样的文件。

FastCGI 简介 :传统的 CGI 因为性能和安全性比较差,所以也就有了 FastCGI,FastCGI 将 CGI 解释器进程保持在内存中并因此获得较高的性能,在 Linux 上,FastCGI 接口即为 socket,这个 socket 可以是文件 socket 也可以是 IP socket 。FastCGI 的主要优点是把动态语言和 HTTP 服务器分离开来,使 Nginx 专门处理静态请求及向后转发的动态请求,而 PHP/PHP-FPM 服务器则专门解析 PHP 动态请求。php-fpm 是一个 PHP FastCGI 管理器,是只用于 PHP 的。php-fpm 其实是 PHP 源代码的一个补丁,旨在将 FastCGI 进程管理整合进 PHP 包中。

Nginx FastCGI 运行原理 :Nginx 不支持对外部动态程序的直接调用或者解析,所有的外部程序必须通过 FastCGI 接口来调用,FastCGI 接口在 Linux 下是 socket,为了调用 CGI 程序,还需要一个 FastCGI 的 wrapper(可以理解为用于启动一个程序的程序),这个 wrapper 绑定在某个固定的 socket 上,如端口或文件 socket,当 Nginx 将 CGI 请求发送给这个 socket 的时候,通过 FastCGI 接口,wrapper 接收到请求,然后派生出一个新的线程,这个线程调用解释器或外部程序处理脚本来读取返回的数据;接着,wrapper 再将返回的数据通过 FastCGI 接口,沿着固定的 socket 传递给 socket 传递给 Nginx;最后,Nginx 将返回的数据发送给客户端,这就是 Nginx + FastCGI 的整个运作过程。

时间: 2024-08-08 18:33:36

FastCGI 介绍的相关文章

04-PHP服务之FASTCGI介绍特点详解及原理画图详解

vi /etc/yum.conf echo $? 显示0 安装成功 原文地址:https://blog.51cto.com/skinglzw/2383574

nginx+fastcgi安装配置

1.fastcgi介绍 FastCGI:快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议. FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次.它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求. FastCGI工作方式是接受Web服务器的请求,以HTTP Request的方

FastCGI技术

1         FastCGI介绍 FastCGI:快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议.    FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次.它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求.    FastCGI具有稳定,安全,高性能,方便扩展等优

0.3 LNMP环境应用实践

LNMP应用环境 LNMP介绍 大约在2010年以前,互联网公司最常用的经典Web服务环境组合就是LAMP (即Linux.Apache.MySQL.PHP),近几年随着Nginx Web服务的逐渐流行, 又出现了新的Web服务环境组合——LNMP或LEMP, 其中LNMP为Linux.Nginx.MySQL.PHP等首字母的缩写, 而LEMP中的E则表示Nginx,它取自Nginx名字的发音(engine x). 现在,LNMP已经逐渐成为国内大中型互联网公司网站的主流组合环境,因此, 我们必

企业级LAMP环境应用----mysql

第1章 企业级LAMP环境应用 1.1 LNMP应用环境 大约在2010年以前,互联网公司最常用的经典web服务环境组合就是LAMP(即Linux,apache,mysql,PHP),近几年随着Nginx web 服务的逐渐流行,又出现了新的web服务环境组合----LNMP或LEMP,其中LNMP为Linux,nginx,Mysql,PHP等首字母的缩写,而LEMP中E表示Nginx,,LNMP已经逐渐成为国内大中型互联网公司网站的主流组合环境. 1.1.1 LNMP介绍 LNMP代表的就是:

LNMP搭建流程

一.首先搭建Nginx服务 yum install -y pcre-devel openssl-devel #用本地yum仓库安装依赖包 wget -q http://nginx.org/download/nginx-1.10.2.tar.gz #下载软件源码包 useradd -s /sbin/nologin -M www #创建程序用户 tar xf nginx-1.10.2.tar.gz -C /usr/src/ #解压缩 cd /usr/src/nginx-1.10.2 ./config

LNMP环境应用

企业LNMP环境应用 L=linux 丨 N=nginx 丨 A=apache 丨 P=php 丨 T=tomcat Nginx和Apache都是Web应用服务器 相对来说,Nginx处理静态数据快,Apache处理动态快 Nginx对系统资源占用小,Apache资源占用高 Nginx用得是epoll模型(异步非阻塞IO),Apache用的是select模型(同步阻塞IO) LNMP介绍 大约在2010年以前,互联网公司最常用的经典Web服务环境组合就是LAMP(即Linux,Apache,My

PHP 动态语言以及搭建 blog 和 bbs 论坛

1.CGI 以及 FastCGI 介绍:1.CGI全称"通用网关接口"(Common Gateway Interface),用于HTTP服务器与其他服务器上的程序服务通信交流的一种工具,CGI程序须运行在网络服务器上.主要缺点:性能差.2.FastCGI是一个可伸缩地.高速地在HTTP服务器和动态脚本语言间通信的接口(FastCGI接口在linux下是socket)这个socket可以是文件socket,也可以是ip socket.主要优点:FastCGI接口方式采用C/S架构,把动态

概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM 各公共网关接口介绍

CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.如php,perl,tcl等. FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式).它还支持