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

 更新时间:2014年08月07日 17:52:57   投稿:hebedich  
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;

             fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;设置参数

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

                   }

相关文章

  • PHP 记录访客的浏览信息方法

    PHP 记录访客的浏览信息方法

    下面小编就为大家分享一篇PHP 记录访客的浏览信息方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • php切割页面div内容的实现代码分享

    php切割页面div内容的实现代码分享

    今天在百度知道看到一个关于php获取DIV内容的问题,做了一晚,终于是做出来了
    2012-07-07
  • Laravel 创建指定表 migrate的例子

    Laravel 创建指定表 migrate的例子

    今天小编就为大家分享一篇Laravel 创建指定表 migrate的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • thinkPHP3.0框架实现模板保存到数据库的方法

    thinkPHP3.0框架实现模板保存到数据库的方法

    这篇文章主要介绍了thinkPHP3.0框架实现模板保存到数据库的方法,结合实例形式分析了使用thinkPHP3.0框架开发CMS系统过程中将模板保存到数据库的具体实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Laravel实现定时任务的示例代码

    Laravel实现定时任务的示例代码

    本篇文章主要介绍了Laravel实现定时任务的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • php操作xml并将其插入数据库的实现方法

    php操作xml并将其插入数据库的实现方法

    下面小编就为大家带来一篇php操作xml并将其插入数据库的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Zend Framework+smarty用法实例详解

    Zend Framework+smarty用法实例详解

    这篇文章主要介绍了Zend Framework+smarty用法,结合实例形式详细分析了Zend Framework框架整合Smarty模板的具体步骤与相关实现技巧,需要的朋友可以参考下
    2016-03-03
  • PHP使用opendir和readdir函数读取指定目录下所有文件

    PHP使用opendir和readdir函数读取指定目录下所有文件

    这篇文章主要介绍了PHP使用opendir和readdir函数读取指定目录下所有文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法

    Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法

    这篇文章给大家介绍的是在Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法,相信"建立数据库连接错误"大家并不陌生,最近我在做一个项目的时候就又遇到了这个问题,现在将我解决的步骤分享给大家,希望对同样遇到这个问题的朋友们能有所帮助。
    2016-11-11
  • ThinkPHP打开验证码页面显示乱码的解决方法

    ThinkPHP打开验证码页面显示乱码的解决方法

    这篇文章主要介绍了ThinkPHP打开验证码页面显示乱码的解决方法,通过头部添加自定义文件验证目录并过滤BOM头来实现该功能,非常具有实用价值,需要的朋友可以参考下
    2014-12-12

最新评论