如何在 CentOS 64 位上从 prefork 更改为 worker MPM?

如何在 CentOS 64 位上从 prefork 更改为 worker MPM?

我运行的是 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

相关内容