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
php md5下16位和32位的实现代码
Apr 09 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
php实现统计网站在线人数的方法
May 12 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
PHP自定义函数格式化json数据示例
Sep 14 PHP
php加密解密字符串示例
Oct 13 PHP
PHP弱类型语言中类型判断操作实例详解
Aug 10 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 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
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
微信小程序背景音乐开发详解
2019/12/12 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
应届毕业生自荐信例文
2014/02/26 职场文书
《猫》教学反思
2014/02/26 职场文书
卫生标语大全
2014/06/21 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
上课不认真检讨书
2014/09/17 职场文书
英文道歉信
2015/01/20 职场文书
面试通知邮件
2015/04/20 职场文书
中学社团活动总结
2015/05/07 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python