php-cgi php-fpm说明

来源:互联网 发布:淘宝上亚马逊会员代买 编辑:程序博客网 时间:2024/05/29 13:18

    • CGICommon Gateway Interface公共网关接口
    • FastCGI
      • 工作原理
    • php-cgi
    • - php-cgi变更phpini配置后需重启php-cgi才能让新的php-ini生效
    • php-fpm

CGI(Common Gateway Interface)公共网关接口

遇到连接请求时,创建cgi的子进程,处理完后结束这个子进程,这就是fork-and-excute,有多少请求就会有多少cgi子进程,而且程序必须运行在网络服务器上

FastCGI

  • Fastcgi会先启一个master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求
  • 常驻型CGI,支持分布式运算
  • FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能
  • 多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存

工作原理

  1. web服务器启动时加载FastCGI进程管理器
  2. 自身初始化,启动多个解释器进程等待来自webserver的请求
  3. Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi,Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi
  4. FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server,并等待下一个连接

php-cgi

  • PHP-CGI是PHP自带的FastCGI管理器

- php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效

php-fpm

  • 实现了Fastcgi的程序
  • php-fpm就是支持解析php的一个fastCGI进程管理器/引擎
  • 更方便的是修改php.ini后可以直接使用PHP-FPM reload进行加载
原创粉丝点击