Tôi không tải MPM, nhưng tôi thậm chí không sử dụng mpm


10

Chạy Apache2 trên Ubuntu Precise64 trong Vagrant. Khi tôi cố gắng khởi động nó, nó nói:

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.

Nhưng vấn đề là, /etc/apache2/apache2.conftập tin của tôi không gọi MPM ở bất cứ đâu! Tôi sẽ dán nó ở đây nhưng nó sẽ làm cho một bài viết lớn ...

Tôi đã cố gắng tìm kiếm nhật ký lỗi, nhưng tôi cũng không thể tìm thấy nó ở bất cứ đâu. Cứu giúp?

Chỉnh sửa: apache2 -l đưa ra điều này:

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                    

Vì vậy, có vẻ như không có mpm được cài đặt, phải không? Nếu không có MPM nào được cài đặt và không có MPM được đề cập trong tệp cấu hình của tôi, tại sao tôi vẫn gặp lỗi này?


1
Đầu ra của dpkg -l 'apache2-mpm *'
sciurus

đối với tôi nó là đủ để thanh lọc, cài đặt lại và sao chép các tập tin cấu hình cũ, bất kể thủ phạm là gì;)
Melissa Loos

Câu trả lời:


10

apache2 -t -D DUMP_MODULES (hoặc -M) sẽ cung cấp cho bạn một danh sách các mô-đun. Bạn sẽ thấy worker.c hoặc prefork.c hoặc event.c. Sử dụng để xác định MPM nào bạn đang sử dụng.

Tìm trong tệp cấu hình của bạn nếu có thứ gì đó giống như (nếu bạn sử dụng MPM prefork).

Đây là một ví dụ:

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

Thêm một khối như thế này vào tập tin cấu hình của bạn và nó sẽ hoạt động. Xác minh rằng apache2-mpm-prefork (hoặc worker hoặc event) được cài đặt đúng.

Đọc tài liệu này để giúp bạn chọn (bắt buộc) MPM phù hợp cho việc sử dụng của bạn: http://httpd.apache.org/docs/2.2/mpm.html


Đã cập nhật câu hỏi ban đầu với đầu ra lệnh ... Có vẻ như không có mô hình mpm nào cả, vì vậy tôi không hiểu tại sao tôi lại thấy lỗi. Bất kỳ ý tưởng?
ezuk

1
Bạn phải chọn một mô-đun MPM, đó là bắt buộc.
Vinz

Xin chào @Vinz. Tôi thực sự có cùng một vấn đề (Ubuntu 13.10, Apache 2.4.6) và đã thử giải pháp của bạn. Tôi đã thiếu khối đó trong tập tin cấu hình của mình, nhưng thêm nó không giải quyết được vấn đề. Còn ý tưởng nào khác không? Tôi bị lạc ở đây.
Itai Bar-Haim

@ ItaiBar-Haim: Thông báo lỗi sau khi thêm khối này là gì?
Vinz

@Vinz đó là lỗi tương tự. Tuy nhiên tôi phát hiện ra rằng khi tôi sử dụng cấu hình Apache mặc định và không cố gắng ghi đè nó theo bất kỳ cách nào mọi thứ dường như hoạt động.
Itai Bar-Haim

10

Tôi gặp vấn đề tương tự. Tôi vô tình ghi đè lên /etc/apache2/apache2.conf. Để khắc phục, tôi phải chạy sudo apt-get purge apache2để loại bỏ hoàn toàn apache và sau đó chạy sudo apt-get install apache2để lấy apache2.conflại tập tin gốc .

LƯU Ý : Sao lưu mọi tệp tùy chỉnh bên dưới /etc/apache2/sites-availabletrước khi xóa.


Tôi gặp vấn đề tương tự với việc chạy Vagrant và hóa ra tôi đã vô tình xóa tất cả nội dung trong apache2.conf. Một chút dễ dàng để hoàn nguyên mặc dù vagrant destroy && vagrant up.
forsvunnet
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.