松窗竹户

2008年10月15日

apache2 worker+php5+fastcgid 实践问题

类归于: 服务器专栏 — 标签:, , — bugx @ 16:39

由于原来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

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

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google

评论暂缺

还没有任何评论。

这篇文章上的评论 RSS feed

抱歉,评论暂时关闭。

WordPress 所驱动