ubuntu下php+php-fpm环境配置

前言:采用Nginx服务器并以php-fpm的方式跑php,这样就需要以源码编译的方式安装PHP和php-fpm,当然现在成熟的一键安装工具也有很多。本文主要包括三个部分内容:1、概念解析CGI、FastCGI、PHP-CGI与php-fpm;2、源码编译的方式安装PHP与php-fpm;3、使用phpize动态编译安装PHP扩展模块。

 

一、概念解析CGI、FastCGI、PHP-CGI与php-fpm

CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,(比如Nginx和PHP)其程序须运行在网络服务器上CGI可以使用多种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等

FastCGI像是一个常驻(long-live)型的CGI,主要行为是管理调度CGI解释器进程并将其保持在内存中因此获得良好的性能、伸缩性、Fail- Over特性等等。它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求

FastCGI的工作原理

1、Web Server启动时载入FastCGI进程管理

  2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接

  3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi(因为我们运行的是PHP代码,所以是php-cgi解释器进程)

  4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server,一次请求连接完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。在CGI模式,cgi完成一次请求即结束进程。

注:显然FastCGI进程在内存中管理着CGI子线程,这种工作模式是比较占用系统内存资源的!但是极大的提高了web server和系统程序的交互效率。

 

PHP-CGI是PHP自带的CGI,提供web server和php交互的功能,具体说就是提供web server基于php环境解析处理php代码的功能。

 

PHP-FPM是一个PHP FastCGI管理器,只能用于管理php-cgi子进程。php5.3.3之后的版本中已经集成为一个php扩展,在编译安装php时启用即可,而之前的版本中需要单独下载php-cgi源码。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值