zoukankan      html  css  js  c++  java
  • PHP+FastCGI+Nginx配置PHP运行环境方法

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

    Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对客户端动态页面请求的处理。

    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;// www.jbxue.com

    fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;设置参数

    include fastcgi_params; //导入fastcgi参数配置文件,该文件在nginx安装时自动生成。

    }

  • 相关阅读:
    windows 7鼠标右键另存为没有桌面选项
    我心目中的Asp.net核心对象
    谈谈C# 4.0新特性“缺省参数”的实现
    C#正则表达式
    Request[]与Request.Params[]
    智力题
    SQL Server类型与C#类型对应关系
    UPdatepanel 的 优点 缺点
    细说 Request[]与Request.Params[]
    display:block 前后会换行
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3898518.html
Copyright © 2011-2022 走看看