查看文章 |
snail_run整理什么是cgiCGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。 什么是fastcgiFastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次 都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 以上转自:http://baike.baidu.com/view/641394.htm
fastcgi与cgi特点1. 如CGI,FastCGI也具有语言无关性. 2. 如CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥。) 3. 虽然FastCGI不能一夜之间像cgi那样普及,但fastcgi的开发人员致力于把fastcgi作为一个开放性的标准进行传播. FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。相关模块在Apache, ISS, Lighttpd等流行的服务器上也是可用的。 4. 如CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。 以上摘自: http://www.fastcgi.com/drupal/node/2
php-fpm
php-fpm文档中文翻译
http://syre.blogbus.com/logs/20092011.html
PHP-FPM之新中文文档转自:http://www.mikale.org/html/2009/03/99.html 恩,php-fpm是一个好东西,最佳配合平台是nginx,只有它能实现优化上传的功能.机制原理知道了,但是为什么优化了上传,想不太清 楚,保存到文件之后读入,跟fast CGI 协议中读取有这么大的性能差别?我想应该跟mysqlnd一样,是节约了内存吧,而不是增加了性能..传递文件名比传递fast cgi的request body,更加节约内存,速度的话,我不认为在内存上操作1k比起操作10M的数据有太大的差别… 神仙做了新的翻译,原因看文档了. php-fpm改造SAPI,让PHP守护进程化,从而很多功能就得以实现. 有一个主的PHP进程为守护进程,然后可以监控子PHP进程..增加的大部分特性都基于这个原理.
php-fpm 与 spawn-cgi 对比测试转自:http://www.cyask.com/question.php?qid=441
php-fpm的使用非常方便,配置都是在php-fpm.ini的文件内
PHP FastCGI 进程管理器: PHP-FPMhttp://www.dbanotes.net/web/php_fastcgi_phpfpm.html php-fpm与spawn-fcgi 比较 http://none.at/phpfm/docs/current_php_fastcgi_problems_en.html
安装记录
参考:张晏http://blog.s135.com/nginx_php_v6/
php fastcgi wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.13-fpm-0.5.13.diff.gz
wget http://www.php.net/get/php-5.2.13.tar.gz/from/this/mirror
tar zxvf php-5.2.13.tar.gz 消息php-fpm已经放到php的核心代码的svn中,相信不久就不用以打补丁安装了 './configure' \ '--enable-fastcgi' \ '--prefix=/data1/server/php-cgi' \ '--with-gd' \ '--with-jpeg-dir' \ '--with-png-dir' \ '--with-freetype-dir' \ '--enable-mbstring' \ '--with-mysql' \ '--with-mysqli' \ '--with-pdo-mysql' \ '--enable-sockets' \ '--with-curl' \ '--with-ttf' \ '--with-libxml-dir' \ '--with-config-file-path=/data1/server/php-cgi/etc' \ '--with-zlib' \ '--enable-exif' \ '--enable-ftp' \ '--with-xmlrpc' \ '--enable-zip' \ '--with-iconv-dir' \ '--with-libxml-dir' \ '--with-mcrypt' \ '--with-tidy' \ '--with-tidy' \ '--enable-fpm' \
'--enable-force-cgi-redirect' \
make && make install cp php.ini-dist /data1/server/php-cgi/etc/php.ini
ulimit -SHn 65535 /data1/server/php-cgi/sbin/php-fpm start 出现错误 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default' 注释取消掉 ./etc/php-fpm.conf中的 <value name="user">nobody</value> <value name="group">nobody</value> |

