Catalog
  1. 1. CGI
    1. 1.1. 1.CGI是什么?
    2. 1.2. 2.处理步骤:
      1. 1.2.1. 3.fastcgi
  2. 2. 安装过程遇到的问题
    1. 2.0.1. 1.源码包
    2. 2.0.2. 2.传文件
cgi和fastcgi的工作模式

CGI

1.CGI是什么?

  • 公共网关接口
  • common gateway interface,简称CGI
  • 在物理层面上是一段程序,运行在服务器上,提供同客户端HTM页面的接口。

2.处理步骤:

  • 通过Internet把用户请求发送到web服务器
  • web服务器接收到用户请求并发送给CGI程序
  • CGI程序把处理结果传送给web服务器
  • web服务器把结果回到用户

图示说明过程:

综上所述,fastcgi效率是高于cgi的。

3.fastcgi

  • FastCGi是语言无关的,可伸缩架构的CGI开放扩展
  • 其主要行为是将CGI解释器进程保持在内存中进行管理调度因此获得较高的性能
  • nginx下fastcgi与服务器是分离的
  • fastcgi可使用spawn-fcgi或者php-fpm来管理
  • 相当于一个代理工具
  • 角色完成nginx和fastcgi之间的进程间通信

环境配置

  • 处理不了的指令,交给fastcgi处理

    • 数据需要转发

    • 数据需要发送到指定的端口

    • #处理一个指令test

      #url:http://192.168.xx.xx/test

      location /test{

      ​ #配置fastcgi模块

      ​ fastcgi_pass 127.0.0.1:9001;

      ​ include fastcgi.conf;

      }

4.spawn-fcgi的使用

  • spawn-fcgi -a IP -p 端口 -f fastcgi程序
    • -a -IP:服务器IP地址
    • -p -port:服务器将数据发送到的端口
    • -f -cgi程序:spawn-fcgi启动时的可执行fastcgi程序

安装过程遇到的问题

1.源码包

​ 由于我们要安装fastcgi和spawn-fastcgi,在网上找来找去,发现这源码已经10来年没更新了,然后百度了半晌,发现csdn上有很多,但是鄙人穷,充不起c币。于是在OSCHINA找到了spawn-fcgi的安装包,在某不知名垃圾但还算良心的论坛找到了fastcgi的安装包。望后世之人省却些心力。

2.传文件

​ 由于我在windows上下载的源码包,然后我们可以用secure-CRT通过rz命令传文件到你的虚拟机上。如果rs报错,则sudo apt install lrzsz即可。

Author: superzhaoyang
Link: http://yoursite.com/2020/03/19/cgi和fastcgi的工作模式/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付宝

Comment