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


Posted in PHP onAugust 07, 2014

      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默认安装产生系统漏洞
Oct 09 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
Oct 22 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
php实现邮件发送并带有附件
Jan 24 PHP
php获取字段名示例分享
Mar 03 PHP
php集成动态口令认证
Jul 21 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
PHP生成数组再传给js的方法
Aug 07 #PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 #PHP
PHP编程中的常见漏洞和代码实例
Aug 06 #PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 #PHP
PHP中的reflection反射机制测试例子
Aug 05 #PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 #PHP
实例介绍PHP的Reflection反射机制
Aug 05 #PHP
You might like
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
精美漂亮的php分页类代码
2013/04/02 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
js实现文字截断功能
2016/09/14 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
详细分析python3的reduce函数
2017/12/05 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
运动会获奖感言
2014/02/11 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
国旗下演讲稿
2014/05/08 职场文书
建筑工地标语
2014/06/18 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
清洁工个人工作总结
2015/03/05 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
Python time库的时间时钟处理
2021/05/02 Python
Javascript webpack动态import
2022/04/19 Javascript