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

2015-01-24信息快讯网

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安装时自动生成。

                   }

腾讯微博提示missing parameter errorcode 102 错误的解决方法
thinkphp中session和cookie无效的解决方法
thinkphp3.0输出重复两次的解决方法
thinkphp3.2.2实现生成多张缩略图的方法
ThinkPHP打开验证码页面显示乱码的解决方法
php中magic_quotes_gpc对unserialize的影响分析
php提示Warning:mysql_fetch_array() expects的解决方法
PHP缓存集成库phpFastCache用法
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
php中fgetcsv()函数用法实例
php中try catch捕获异常实例详解
PHP判断一个gif图片是否为动态图片的方法
php管理nginx虚拟主机shell脚本实例
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
PHP fastcgi模式上传大文件(大约有300多K)报错
getJSON跨域SyntaxError问题分析
PHP生成数组再传给js的方法
linux下安装php的memcached客户端
Linux下创建nginx脚本-start、stop、reload…
Linux下php5.4启动脚本
linux下编译安装memcached服务
php switch语句多个值匹配同一代码块应用示例
PHP实现把文本中的URL转换为链接的auolink()函数分享
php Imagick获取图片RGB颜色值
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
php判断GIF图片是否为动画的方法
PHP类中的魔术方法(Magic Method)简明总结
PHP中使用TCPDF生成PDF文档实例
ThinkPHP模板Switch标签用法示例
PHP微框架Dispatch简介
JS异常处理try..catch语句的作用和实例
PHP-Fcgi下PHP的执行时间设置方法
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
解决FastCGI 进程超过了配置的活动超时时限的问题
©2014-2024 dbsqp.com