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 相关文章推荐
支持oicq头像的留言簿(一)
Oct 09 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHPMailer发送邮件
Dec 28 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
django中的ajax组件教程详解
Oct 18 PHP
解决laravel5.4下的group by报错的问题
Oct 16 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 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
python中import学习备忘笔记
2017/01/24 Python
python如何对实例属性进行类型检查
2018/03/20 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
Python logging模块handlers用法详解
2020/08/14 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
可口可乐广告词
2014/03/20 职场文书
实习报告评语
2014/04/26 职场文书
环保志愿者活动方案
2014/08/14 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
就业推荐表导师评语
2014/12/31 职场文书
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python