cgi和fastCGI的工作模式

CGI程序是如何工作的

  • web服务器(nginx),收到要给请求
  • web服务器fork一个子进程
    • 每个处理一个请求,都会创建一个子进程
    • 数据处理完成之后,该cgi进程会被web服务器杀死

CGI的弊端

  • 需要频繁的创建和销毁进程
  • web服务器的效率低

改进 使用fastCGI

  • FastCGI是于语言无关的可伸缩架构的CGI开放扩展
  • nginx下fastcgi与服务器是分离的
    • fastcgi可使用spawn-fcgi或者php-fpm来管理

环境配置

  • 处理不了的指令,交给fastcgi处理
    • 数据需要转发
    • 数据需要发送到指定的端口
    • url: http://x.x.x.x/test
      location /test {
          # 配置fastcgi模块
          fastcgi_pass 127.0.0.1:9001;
          include fastcgi.conf;
      }
      
  • spawn-fcgi的使用
    • 编写一个fcgi程序
      • 编译出来的程序名test
    • 例: spawn-fcgi -a 127.0.0.1 -p 9001 -f ./a.out
    • spawn-fcgi -a IP -p 端口 -f fastcgi程序
    • -a IP 服务器ip地址 和web服务器里面填写的对应
    • -p port 服务器将数据发送到的端口 和web服务器里面填写的对应
    • -f cgi程序

posted on 2021-05-17 10:23  lodger47  阅读(108)  评论(0)    收藏  举报

导航