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


17

我运行的是64位的CentOS,发现我的双四核Xeon运行的是前叉MPM。有人告诉我,工作量很大的网站会给工作人员降低内存使用量和提高性能。

如果是这样,我该怎么办?

Answers:


25

编辑:/ etc / sysconfig / httpd

取消注释:

HTTPD=/usr/sbin/httpd.worker

重新启动,瞧!


嗨,@ RafiqManiar,您重启是指Apache还是整个服务器?
ericn 2013年

3
重新启动Apache。sudo服务httpd重新启动
Rafiq Maniar

2
CentOS7。我正在得到这个文件:/ usr / sbin / apachectl:第137行:/usr/sbin/httpd.worker:没有这样的文件或目录
YumYumYum 2015年

4

编辑: /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

CentOS 6x:

修改文件:/ etc / sysconfig / httpd

HTTPD=/usr/sbin/httpd.worker

CentOS 7x:

$ 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

重新开始


从apache 2.4的文件/ etc / sysconfig / httpd中##注意:对于早期版本的httpd,可以通过#在此处编辑“ HTTPD”变量来更改MPM。在当前版本中,该#变量现在将被忽略。MPM是可加载的模块,可以通过编辑配置文件#/etc/httpd/conf.modules.d/00-mpm.conf来更改MPM的#选择。
弗拉基米尔·科纳(Fladimir Kornea)'17

-2

-Redhat Enterprise 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.