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+dbfile开发小型留言本
Oct 09 PHP
让你的网站首页自动选择语言转跳
Dec 06 PHP
php 静态变量的初始化
Nov 15 PHP
PHP 可阅读随机字符串代码
May 26 PHP
sql注入与转义的php函数代码
Jun 17 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
php输出xml属性的方法
Mar 19 PHP
php 把数字转换成汉字的代码
Jul 21 PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 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
模仿OSO的论坛(二)
2006/10/09 PHP
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
JS实现滑动导航效果
2020/01/14 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python缓存技术实现过程详解
2019/09/25 Python
python可视化实现KNN算法
2019/10/16 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
采购助理岗位职责
2014/02/16 职场文书
物业消防安全责任书
2014/07/23 职场文书
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
MySQL分区以及建索引的方法总结
2022/04/13 MySQL