không tìm thấy cài đặt prefork hay worker trong /etc/apache2/apache2.conf - tại sao?


10

Tôi vừa cài đặt Apache 2.4.7 (Ubuntu) trên hệ thống Ubuntu 14.04 LTS của mình và không thể thấy các cài đặt prefork hay worker trong /etc/apache2/apache2.conf. Chúng cũng không được xác định cho máy chủ ảo mặc định. Tôi có nên đặt chúng trong apache2.conf như thế này không?

<IfModule mpm_prefork_module>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 200 #must be customized
    ServerLimit 200 #must be customized
    MaxRequestsPerChild 100
</IfModule>

Câu trả lời:


10

Ubuntu 14 tổ chức tất cả các cấu hình dành riêng cho mô-đun trong các tệp riêng biệt bên dưới /etc/apache2/mods-available/, do đó, công cụ prefork MPM hiện được đặt trong/etc/apache2/mods-available/mpm_prefork.conf


4

Bạn đã tìm kiếm các cài đặt trong /etc/apache2/conf.d/? Có khả năng các cài đặt này được giữ trong các tệp riêng biệt để hỗ trợ đóng gói.

Tôi có nên đặt chúng trong apache2.conf như thế này không?

<IfModule mpm_prefork_module>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 200 #must be customized
    ServerLimit 200 #must be customized
    MaxRequestsPerChild 100
</IfModule>

Có, bạn có thể đặt chúng trong apache2.conf (mặc dù hãy tìm chúng trong các tệp khác conf.d/như đã đề cập ở trên).

MaxRequestsPerChild của bạn có vẻ rất thấp - con số này có thể lên tới hàng ngàn.

Nếu bạn đang chạy mod_php, MaxCl Client của bạn sẽ được hạ xuống đáng kể, trừ khi bạn có nhiều hợp đồng RAM.


Cảm ơn câu trả lời của bạn. Bản cài đặt Apache của tôi không có conf.dtại /etc/apache2/. Làm thế nào là có thể?
Maxim Koretskyi

Xin lỗi, đó là những gì tôi nhận được khi viết câu trả lời này mà không cần kiểm tra vào ngày 14.04. Tôi chỉ có 12.04. Hoặc là họ đã thay đổi thư mục conf cho apache hoặc một cái gì đó khác đang diễn ra :)
thomasrutter

OK, chúng tôi sẽ chờ ai đó làm rõ vấn đề :). Bạn có thể vui lòng giải thích về điều này Your MaxRequestsPerChild seems very low - this can be in the thousands. If you are running mod_php your MaxClients should be lowered significantly, unless you have many gigs of RAM.?
Maxim Koretskyi

MaxRequestsPerChild mặc định là 10000, có nghĩa là một quy trình sẽ chỉ được khởi động lại sau mỗi 10.000 yêu cầu cho mỗi quy trình. Giảm mức này xuống 100 có vẻ như nó chỉ gây hại cho hiệu suất trừ khi bạn gặp phải một vấn đề cụ thể như rò rỉ bộ nhớ xấu. Và đối với MaxCl Client, với mod_php, bạn có thể cần phải hạ mức này xuống mặc định vì mỗi tiến trình rất lớn - trừ khi bạn có nhiều Gigabyte RAM.
thomasrutter
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.