当我尝试启动apache服务器时,我得到以下内容,我构建了2.4.6版本并放置在本地位置.
[apacheas@twproxy1 bin]$ ./apachectl -k start
AH00534: httpd: Configuration error: More than one MPM loaded.
Run Code Online (Sandbox Code Playgroud)
根据某些网站上提供的一些信息,我尝试列出可用的模块(不确定!),如下所示.
[apacheas@twproxy1 bin]$ ./httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c
event.c
Run Code Online (Sandbox Code Playgroud)
怎么可能出错?
这与openssl中最近出现的Heart Bleed错误有关 - 建议我们升级apache和openssl版本.我们做了所有,但坚持上述问题/
小智 32
检查启用mods的目录中所有已启用的mod.如果已启用mpm_prefork,则应禁用该worker模块.
mpm_prefork
worker
小智 9
顺便拜访: /etc/httpd/conf.modules.d
你会找到一个名为的文件: 00-mpm.conf
您只能取消注释这3行中的一行:
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
Run Code Online (Sandbox Code Playgroud)
更多信息:https://httpd.apache.org/docs/2.4/mpm.html
在Ubuntu解决方案与上面相同,但只有文件的差异:
cd /etc/apache2/mods-enabled
root@ip:/etc/apache2/mods-enabled# ll mpm_*
lrwxrwxrwx 1 root root 32 Jun 30 10:33 mpm_event.conf -> ../mods-available/mpm_event.conf
lrwxrwxrwx 1 root root 32 Jun 30 10:33 mpm_event.load -> ../mods-available/mpm_event.load
lrwxrwxrwx 1 root root 34 Jun 30 11:36 mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
lrwxrwxrwx 1 root root 34 Jun 30 11:36 mpm_prefork.load -> ../mods-available/mpm_prefork.load
root@ip:/etc/apache2/mods-enabled# cat mpm_event.load
# Conflicts: mpm_worker mpm_prefork mpm_itk
#LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so
root@ip-10-0-0-249:/etc/apache2/mods-enabled# cat mpm_prefork.load
# Conflicts: mpm_event mpm_worker mpm_itk
LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so
Run Code Online (Sandbox Code Playgroud)
即注释掉上述任何一个模块
root@ip:/etc/apache2/mods-enabled# service apache2 restart
Run Code Online (Sandbox Code Playgroud)
这样做!! 它对我有用!