ezu*_*zuk 14 ubuntu apache-2.2
在 Vagrant 的 Ubuntu Precise64 上运行 Apache2。当我尝试启动它时,它说:
vagrant@precise64:/etc/apache2$ /etc/init.d/apache2 start
* Starting web server apache2
*
* The apache2 configtest failed.
Output of config test was:
AH00534: apache2: Configuration error: No MPM loaded.
Action 'configtest' failed.
The Apache error log may have more information.
Run Code Online (Sandbox Code Playgroud)
但问题是,我的/etc/apache2/apache2.conf文件在任何地方都没有要求 MPM!我会把它贴在这里,但它会成为一个巨大的帖子......
我尝试查找错误日志,但也找不到任何地方。帮助?
编辑: apache2 -l给出这个:
vagrant@precise64:/$ apache2 -l
Compiled in modules:
core.c
mod_so.c
mod_watchdog.c
http_core.c
mod_log_config.c
mod_logio.c
mod_version.c
mod_unixd.c
mod_unixd.c
Run Code Online (Sandbox Code Playgroud)
所以看起来没有安装mpm,对吧?如果没有安装 MPM 并且我的配置文件中没有提到 MPM,为什么我仍然看到这个错误?
小智 12
我遇到过同样的问题。我不小心覆盖了/etc/apache2/apache2.conf。为了纠正,我必须运行sudo apt-get purge apache2以完全删除apache,然后运行sudo apt-get install apache2以取回原始apache2.conf文件。
注意:/etc/apache2/sites-available在清除之前备份任何自定义文件。
Vin*_*inz 11
apache2 -t -D DUMP_MODULES (或 -M) 应该给你一个模块列表。您应该看到 worker.c 或 prefork.c 或 event.c。使用它来确定您正在使用的 MPM。
如果有类似的东西(如果您使用 prefork MPM),请查看您的配置文件。
这是一个例子:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
Run Code Online (Sandbox Code Playgroud)
将这样的块添加到您的配置文件中,它应该可以工作。验证是否正确安装了 apache2-mpm-prefork(或工作线程或事件)。
阅读此文档以帮助您选择(这是强制性的)适合您使用的 MPM:http : //httpd.apache.org/docs/2.2/mpm.html
| 归档时间: |
|
| 查看次数: |
74770 次 |
| 最近记录: |