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
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 PHP
php使用ICQ网关发送手机短信
Oct 30 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
[原创]smarty简单模板变量输出方法
Jul 09 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
Yii2创建控制器(createController)方法详解
Jul 23 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
phpstudy2020搭建站点的实现示例
Oct 30 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
一周学会PHP(视频)Http下载
2006/12/12 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
Python入门篇之面向对象
2014/10/20 Python
Django 前后台的数据传递的方法
2017/08/08 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python urllib2运行过程原理解析
2020/06/04 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
学生励志演讲稿
2014/01/06 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
大学生演讲稿范文
2014/01/11 职场文书
运动会开幕式致辞
2015/07/29 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python