“ ไม่โหลด MPM” แต่ฉันไม่ได้ใช้ mpm


10

เรียกใช้ Apache2 บน Ubuntu Precise64 ใน 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 *'
อะไร

สำหรับฉันมันก็เพียงพอที่จะล้างติดตั้งใหม่และคัดลอกไฟล์ config เก่าสิ่งที่ผู้กระทำผิดนั้นเป็น)
Melissa Loos

คำตอบ:


10

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>

เพิ่มบล็อกเช่นนี้ลงในไฟล์กำหนดค่าของคุณและควรใช้งานได้ ตรวจสอบว่าติดตั้ง apache2-mpm-prefork (หรือผู้ปฏิบัติงานหรือเหตุการณ์) อย่างถูกต้อง

อ่านเอกสารนี้เพื่อช่วยคุณเลือก MPM ที่เหมาะสมสำหรับการใช้งานของคุณ: http://httpd.apache.org/docs/2.2/mpm.html


อัปเดตคำถามเดิมด้วยเอาต์พุตคำสั่ง ... ดูเหมือนว่าจะไม่มีโมเดล mpm เลยดังนั้นฉันจึงไม่เข้าใจว่าทำไมฉันจึงเห็นข้อผิดพลาด ความคิดใด ๆ
ezuk

1
คุณต้องเลือกโมดูล MPM มันเป็นข้อบังคับ
Vinz

สวัสดี @Vinz ฉันมีปัญหาเดียวกันจริง ๆ (Ubuntu 13.10, Apache 2.4.6) และลองวิธีแก้ปัญหาของคุณ ฉันไม่มีบล็อกนั้นในไฟล์ปรับแต่งของฉัน แต่การเพิ่มมันไม่สามารถแก้ปัญหาได้ ความคิดอื่น ๆ ? ฉันหลงทางอยู่ที่นี่
Itai Bar-Haim

@ ItaiBar-Haim: เกิดข้อผิดพลาดหลังจากเพิ่มบล็อกนี้คืออะไร?
Vinz

@ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.