![]() |
登录 用户中心() [退出] 后台管理 注册 |
热门搜索: |
您的位置:首页 >> 程序员下载区 >> 程序员下载区 >> 主题: apache 2.2.11/php-5.2.9-Win32 的 fastcgi 解决方案(顺便解决了内存占用太多的问题) |
标题 | apache 2.2.11/php-5.2.9-Win32 的 fastcgi 解决方案(顺便解决了内存占用太多的问题) |
clq |
浏览(3180)
2009-03-11 15:12:22 发表
编辑
关键字: apache 2.2.11 + php-5.2.9-Win32 的 fastcgi 解决方案(顺便解决了内存占用太多的问题) 原来是用 isapi 的方式简单的做了一个配置.结果很快连接数就吃不消息了,因为默认的连接数不够用 -- 我们"单位"首页每日访问量 20000. -- 现象是响应连接非常慢,而且导致同一台机器上的 tomcat 也连接不上! 于是加大的连接参数,但内存用量急升到 1.5 G 多! 速度是正常了,但总是不优化,心里那个不服. 听说 fastcgi 方式会比较好,试了一个还不好配置.最后终于弄好了,效果是非常的理想 :) 方法如下: fastcgi 其实目前看到的有两种,一个是常说的 FastCGI 另一个是 fcgid 其中后者是国人优化后的版本,与前者兼容. 实际使用中 FastCGI 并不算太好,而且听说与 php5 不兼容,我最终使用的是 fcgid . 前者的配置方法是先使 php 的 cgi 方式先能用: # cgi 运行 php ScriptAlias /php/ "D:/Apache2.2/php-5.2.9-Win32/" Action application/x-httpd-php "/php/php-cgi.exe" SetEnv PHPRC "D:/Apache2.2/php-5.2.9-Win32" AddType application/x-httpd-php .php 然后装载 http://www.fastcgi.com/dist/ 处理得到的一个 dll # fastcgi 运行 php LoadModule fastcgi_module modules/mod_fastcgi-2.4.6-AP22.dll FastCgiServer "D:/Apache2.2/php-5.2.9-Win32/php-cgi.exe" -processes 3 实际上 FastCgiServer 这行在我的环境中用不上, google 上有网友说是 php5 的原因. 总之这样配置出来的东西还行,但不是很快. 实际我用的是 http://fastcgi.coremail.cn/download.htm 处的版本 http://www.apachelounge.com/download/ 上的文件也是这个的,不同的 apache 2 版本还有不同的文件,下载时要注意看一下虽然看不大懂的英文说明 :) 然后按照 http://fastcgi.coremail.cn/configuration.htm#PHP-Windows 处理和说明配置即可.我用的是 LoadModule fcgid_module modules/mod_fcgid.so DefaultInitEnv PHPRC "c:/php/" DefaultInitEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;" DefaultInitEnv SystemRoot "C:/Windows" DefaultInitEnv SystemDrive "C:" DefaultInitEnv TEMP "C:/WINDOWS/TEMP" DefaultInitEnv TMP "C:/WINDOWS/TEMP" DefaultInitEnv windir "C:/WINDOWS" AddHandler fcgid-script .php FCGIWrapper "c:/php/php.exe" .php # You need mod_fcgid version >= 2.1 to support arguments in FCGIWrapper, if you want # FCGIWrapper "/usr/local/bin/php -c /etc/" .php Options ExecCGI allow from all 几种方法效果有何不同我就没试过了.因为现在已经很满意了 :) 要感谢一个我们公司有这么多的首页访问量,要不我还以为一个公司嘛,默认配置能用就 ok 了 :) 也没想到配置出来的机器会有这么大的性能差异. 另外目前这个文件是用 vs2008 编译的,所以要先安装 "Microsoft Visual C++ 2008 Redistributable Package (x86)" http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en |
clq |
2009-3-11 15:23:59 发表
编辑
附件[暂不开放下载] 附一个我的配置文件. httpd.conf |
beehive |
2009-4-10 16:17:37 发表
编辑
正遇见这个问题。先学习之。 |
clq |
2010-4-18 14:33:01 发表
编辑
http://blog.csdn.net/wwwsq/archive/2008/05/22/2468007.aspx --------------------------------------------------
我还没找到异步处理的方式。如果有异步的实现方式,那就可以单线程异步处理多个并发请求了。 |
Copyright © 2005-2012 CLQ工作室, All Rights Reserved CLQ工作室 版权所有 |