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 相关文章推荐
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
php的dl函数用法实例
Nov 06 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
Yii2 输出xml格式数据的方法
May 03 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
PHP钩子实现方法解析
May 21 PHP
PHP unset函数原理及使用方法解析
Aug 14 PHP
PHP基本语法
Mar 31 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 和 MySQL 基础教程(二)
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP实现文件下载详解
2014/11/27 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
简单的js表单验证函数
2013/10/28 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
javascript 回调函数详解
2014/11/11 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
如何转换一个字符串到enum值
2014/04/12 面试题
应用心理学个人求职信范文
2013/12/11 职场文书
致裁判员加油稿
2014/02/08 职场文书
内刊编辑求职自荐书范文
2014/02/19 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
特岗教师个人总结
2015/02/10 职场文书
公司催款律师函
2015/05/27 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android