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入门速成(2)
Oct 09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
php str_pad 函数用法简介
Jul 11 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
php使用curl访问https示例分享
Jan 17 PHP
微信API接口大全
Apr 15 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
php自动加载方式集合
Apr 04 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
PHP二维数组去重算法
2016/12/17 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
jquery简易手风琴插件的封装
2020/10/13 jQuery
Vue——前端生成二维码的示例
2020/12/19 Vue.js
常见的python正则用法实例讲解
2016/06/21 Python
python 内置函数汇总详解
2019/09/16 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
作文评语集锦大全
2014/04/23 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
异地恋情人节寄语
2015/02/28 职场文书
工程主管竞聘书
2015/09/15 职场文书
golang语言指针操作
2022/04/14 Golang
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers