• 技术文章 >后端开发 >php教程

    PHP+FastCGI+Nginx配置PHP运行环境,fastcginginx_PHP教程

    2016-07-13 10:21:15原创357

    PHP+FastCGI+Nginx配置PHP运行环境,fastcginginx


    CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCGI接口将动态请求发送给FastCGI,FastCGI中的Wrapper进程生成一个线程,将请求交给脚本解释程序执行,然后通过原来的socket将解释执行后的结果原路返回给Nginx,之后Nginx将结果交给客户端。

    Nginx是通过套接字文件socket来将动态请求发送给wrapper,使用的是Tcp协议。wrapper通过CGI接口来接受请求。这样web服务器和解释程序之间完全可以独立开发,这样避免了解释程序直接调用服务器的接口而导致的出错和崩溃以及安全性问题。而且可以使Nginx专心处理静态页面请求和转发动态请求,而将脚本解释器安装在另一台服务器,使服务器的压力得到分摊。

    CGI是作为PHP程序的补丁开发的,安装PHP首先安装其所依赖的库,之后在编译配置参数时加入对CGI的支持--enable-fpm --enable-cgi等选项。编译PHP的扩展模块,需要用到php中的phpize工具用来生成模块编译时的configure文件,如果运行phpize时无法生成configure文件,原因有:没有安装autoconf软件包。

    php-fpm进程的配置文件为/usr/local/php/etc/php-fpm.conf 可以对php-fpm进行相应的配置。

    Nginx配置支持fastcgi:

    location ~ \.php${
    
                 root html;
    
                 fastcgi_pass  unix:/tmp/fastcgi.soke  //通过套接字文件和cgi建立联系,该文件在php-fpm.conf中设置
    
                 fastcgi_index index.php;
    
                 fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;设置参数
    
                 include fastcgi_params; //导入fastcgi参数配置文件,该文件在nginx安装时自动生成。
    
                       }
    


    对于PHP、Nginx 、FastCGI

    Nginx提供web服务,类似Apache、IIS和lighthttp;
    web服务如果收到php文件请求就将请求转给php处理,返回处理结果;
    FastCGI是php的一种运行模式,除此之外还可以以CGI或者ISAPI模式运行。
    另外,如果你是用windows平台,建议使用 Apache+PHP+Mysql,简单些,如果非要和微软的IIS扯上关系,可能会比较麻烦,至少我这样认为;如果使用Linux平台,建议使用 Nginx+PHP+Mysql,PHP5.3已内置php-fpm,安装使用都很方便。
    Windows平台也可以使用Nginx,需要的话再联系,正在使用,现成的。我现在使用Linux+Nginx+PHP+Mysql+Postgresql+Mongodb 。
     

    这段时间看了一下对于用Apache或Nginx搭配fastcgi来运行php的资料,资料上说“用了fastcgi后,PHP解释程序

    不需要重启服务器,我开发的设置就是在win2003+apache+php+fastcgi 上,没有发生过延时生效的情况。而且需要注意的是载入内存不是php文件本身,而是解释器,php解释器每一次开启释放都会耗费系统资源,原来的多进程变成了轻量级的进程去除了频繁的解释器加载卸载,减轻了系统压力而已,这跟php文件更新不冲突。
     

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/860469.htmlTechArticlePHP+FastCGI+Nginx配置PHP运行环境,fastcginginx CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCG...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP FastCGI Nginx
    上一篇:手把手教你做关键词匹配项目(搜索引擎)---- 第二天,教你做----_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!• 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)
    1/1

    PHP中文网