我运行的是 CentOS 64 位,刚刚发现我在双四核 Xeon 上运行 prefork MPM。我被告知 worker 会降低内存使用率并提高性能,因为我运行的是一个流量很大的网站。
如果这是真的,我该怎么做?
答案1
编辑:/etc/sysconfig/httpd
取消注释:
HTTPD=/usr/sbin/httpd.worker
重新启动,瞧!
答案2
CentOS 6.x:
修改文件:/etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.worker
CentOS 7.x:
$ cat /etc/httpd/conf.modules.d/00-mpm.conf
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so
重新开始
答案3
編輯:/etc/sysconfig/httpd
并且取消注释:
HTTPD=/usr/sbin/httpd.worker
重新启动 httpd(服务 httpd 重新启动)后,出现以下错误:
Stopping httpd: [ OK ]
Starting httpd: httpd.worker: Syntax error on line 222 of /etc/httpd/conf/httpd.conf: Syntax error on line 9 of /etc/httpd/conf.d/php.conf: Cannot load /etc/httpd/modules/libphp5-zts.so into server: /etc/httpd/modules/libphp5-zts.so: cannot open shared object file: No such file or directory
[FAILED]
不过您可能需要安装 php-zts。
yum install php-zts
此后,不再有错误消息,并且 httpd 正常启动,模块工作器处于活动状态。
答案4
-- 红帽企业 Linux 6
RHEL 中的 php-zts 位于“可选”存储库中:
# subscription-manager repos --enable rhel-6-server-optional-rpms
Repository 'rhel-6-server-optional-rpms' is enabled for this system.
# yum install php-zts