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 相关文章推荐
自动把纯文本转换成Web页面的php代码
Aug 27 PHP
PHP var_dump遍历对象属性的函数与应用代码
Jun 04 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
基于PHP文件操作的详细诠释
Jun 21 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
示例详解Laravel重置密码代码重构
Aug 10 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
浅析PHP开发规范
Feb 05 PHP
laravel model 两表联查示例
Oct 24 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_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
Vue中的vue-resource示例详解
2018/11/02 Javascript
使用ThinkJs搭建微信中控服务的实现方法
2019/08/08 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
自荐信需注意事项
2014/01/25 职场文书
函授本科自我鉴定
2014/02/04 职场文书
服务标语口号
2014/07/01 职场文书
树转促学习心得体会
2014/09/10 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
转正申请报告格式
2015/05/15 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript