我有一个CentOS 5.5。 服务器,并试图从MPM Prefork切换到MPM工作。 我目前安装了标准的yum httpd软件包,从我的阅读中我做了以下几点:
确保Apache已禁用PHP。 我很好,一旦我开始运行MPM工具,将使用FastCGI来处理PHP文件。
重启httpd服务,一切正常。
如果我执行#vi /etc/init.d/httpd,则httpd.worker行仍然被注释掉。 我试过改变这一点以及没有区别。
有什么build议么? 要看的东西? 我的应用程序需要工作人员的MPM,所以我唯一能想到的select是使用Ubuntu或者其他具有专用apache2-mpm-worker软件包的软件。 在某个地方有什么类似的yum回购?
提前致谢!
在我的系统上,我编辑了/ etc / sysconfig / httpd文件来启用httpd.worker。
重启httpd之后,我运行了“ps -ef | grep -i http”,得到这个:
[root@localhost httpd]# ps -ef | grep -i http root 16334 17289 0 10:44 pts/1 00:00:00 grep -i http root 30536 1 0 10:00 ? 00:00:00 /usr/sbin/httpd.worker apache 30539 30536 0 10:00 ? 00:00:00 /usr/sbin/httpd.worker apache 30541 30536 0 10:00 ? 00:00:02 /usr/sbin/httpd.worker [root@localhost httpd]#
如果我将/ etc / sysconfig / httpd切换回默认值,则ps输出如下所示:
[root@localhost httpd]# ps -ef | grep -i http root 16447 1 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16448 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16449 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16450 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16451 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16453 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16454 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16455 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd apache 16456 16447 0 10:47 ? 00:00:00 /usr/sbin/httpd root 16458 17289 0 10:47 pts/1 00:00:00 grep -i http [root@localhost httpd]#
在这种情况下,“httpd -V”输出和以前一样。
由于正在运行的进程数与我在“/etc/httpd/conf/httpd.conf”中设置的prefork和worker模块的configuration选项相匹配,所以我相信它可以像广告一样工作。
我怀疑“httpd -V”是报告默认情况下编译。 因为:服务器二进制名称是不同的。 httpd(prefork,默认)!= httpd.worker(非默认)
担
我客人的快速方法是用httpdreplacehttpd.worker,然后重新启动httpd。 有时你的应用程序使用绝对path调用httpd。