200815/10

apache2 worker+php5+fastcgid 实践问题 Published by bugx 12:03:28 十月 15th,2008 in web种种.

由于原来http服务配置是apache2+php5 在prefork下用mod_php运行的,效率非常的低,当httpd进程达到1024以上就变得非常的缓慢。后来我尝试了装nginx,但是在远程服务器上传附件上显示空白,其实后来在配置apache2的worker模式下的fastcgid时也出现这个问题,就发现了并不是nginx的配置问题,而是问题出在php上。

首先安装了 apache2.2.9 编译用了worker方式。模块用动态加载,全装了进去,再一个个加,我并不确定到底要多少模块,这也是对apache的模块并不很熟悉,它的定制性高。

然后装php5,装的时候碰到2个问题

第一个是碰到  liconv 什么open的问题,就是找不到吧。

这个解决方法,vi Makefile ,修改下Makefile文件

在大概90行左右EXTRA_LIBS = 最后面加-liconv

EXTRA_LIBS = ...................-lcrypt -liconv

第二个问题,discuz的论坛上传空白,这个就是在nginx里碰到的,后来发现非远程附件是可以上传的,其实就是php在使用ftp上传的时候出的错,php也真是的,函数不检测模块存在不存在,报错都不报,display error都是打开的。再重新编译,来回折腾了好几次。

./configure --prefix=/usr/servers/php5 --with-config-file-path=/usr/servers/php5/etc --with-mysql=/usr/servers/mysql --with-mysqli=/usr/servers/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf

后面加上了- -enable-ftp.

还有这里如果在worker下编译选项加了ssl的话,会出现php is not safethread的错误。

第三个问题,在使用apc的时候,php加载不了,查了下,原来apc和zend冲突,无法解决。

只要继续用eaccelerator,装上,OK。非常好。

第四个问题,eaccelerator-0.9.5.3用上后,ecmall的后台登陆是空白的。

没办法,只能给这个网站独立一个php.ini

FCGIWrapper "/usr/servers/php5/bin/php-cgi -c /usr/servers/php5/etc/php.ini" .php

接下来观察,worker模式是否稳定,暂时出现了fastcgi死掉的情况。

实在不行再换nginx

 这里非常感谢 上汤宝箭 帮我一起检查错误问题。

apache2  worker  php5  fastcgid  

此文发于 2008-10-15 12:03:28,归类于 web种种,已阅读
Trackback引用地址:http://blog.nowans.com/trackback.asp?id=226
日志评论Feed地址:http://blog.nowans.com/feed.asp?o=comment&id=226

在某一年的这一天,我还写过……

0条留言针对“apache2 worker+php5+fastcgid 实践问题” 订阅评论 发表评论

假使你有话要讲,我想我还不至于拦着你罢: