"Не завантажено MPM", але я навіть не використовую mpm


10

Запуск Apache2 на Ubuntu Precis64 у Vagrant. Коли я намагаюся його почати, він говорить:

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.

Але річ у тому, що мій /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                    

Отже, схоже, що mpm не встановлено, правда? Якщо в моєму конфігураційному файлі не встановлено жодного MPM і в ньому не згадується MPM, чому я все ще бачу цю помилку?


1
Який вихід dpkg -l 'apache2-mpm *'
sciurus

для мене достатньо було очистити, перевстановити та скопіювати старі конфігураційні файли, яким би не був винуватець;)
Меліса Лоос

Відповіді:


10

apache2 -t -D DUMP_MODULES (або -M) повинен дати вам список модулів. Ви повинні побачити worker.c або prefork.c або event.c. Використовуйте це, щоб визначити, який MPM ви використовуєте.

Подивіться у свої конфігураційні файли, чи є щось на зразок (якщо ви використовуєте MPM prefork).

Ось приклад:

<IfModule mpm_prefork_module>
StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0
</IfModule>

Додайте такий блок, як цей, у свій конфігураційний файл, і він повинен працювати. Перевірте, чи правильно встановлено apache2-mpm-prefork (або працівник, або подія).

Прочитайте цю документацію, щоб допомогти вам обрати (обов’язково) відповідний MPM для свого використання: http://httpd.apache.org/docs/2.2/mpm.html


Оновлено оригінальне запитання з виведенням команди ... Схоже, немає моделі mpm взагалі, тому я не розумію, чому я бачу помилку. Будь-яка ідея?
ezuk

1
Ви повинні вибрати модуль MPM, це обов'язково.
Вінц

Привіт @Vinz. Я фактично маю ту саму проблему (Ubuntu 13.10, Apache 2.4.6) і спробував ваше рішення. Мені не вистачало цього блоку в моєму конфігураційному файлі, але додавання його не вирішило проблему. Будь-які інші ідеї? Я якось тут загубився.
Itai Bar-Haim

@ ItaiBar-Haim: Яке повідомлення про помилку після додавання цього блоку?
Вінц

@Vinz це була та сама помилка. Однак я з’ясував, що коли я використовую конфігурацію Apache за замовчуванням і не намагаюся її замінити жодним чином, то, здається, справи працюють.
Itai Bar-Haim

10

У мене було те саме питання. Я випадково перекинув /etc/apache2/apache2.conf. Щоб виправитись, мені довелося бігти, sudo apt-get purge apache2щоб повністю видалити apache, а потім запустити, sudo apt-get install apache2щоб повернути початковий apache2.confфайл.

ПРИМІТКА./etc/apache2/sites-available Перед очищенням створіть резервні копії будь-яких спеціальних файлів, передбачених нижче .


У мене була аналогічна проблема із запуском Vagrant, і виявляється, я випадково видалив увесь вміст в apache2.conf. Трохи простіше повернути, хоча vagrant destroy && vagrant up.
forsvunnet
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.