pengaturan prefork atau pekerja tidak ditemukan di /etc/apache2/apache2.conf - mengapa?

10

Saya baru saja menginstal Apache 2.4.7 (Ubuntu) pada sistem Ubuntu 14.04 LTS saya dan tidak dapat melihat pengaturan prefork maupun pekerja di /etc/apache2/apache2.conf. Mereka juga tidak ditentukan untuk virtual host default. Haruskah saya mengaturnya sendiri di apache2.conf seperti ini?

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

Jawaban:

10

Ubuntu 14 mengatur semua konfigurasi khusus modul dalam file yang terpisah di bawahnya /etc/apache2/mods-available/, sehingga prefab MPM sekarang berada di/etc/apache2/mods-available/mpm_prefork.conf

Drew
sumber
4

Sudahkah Anda mencari pengaturan ini di dalam /etc/apache2/conf.d/? Kemungkinan pengaturan ini disimpan dalam file yang disertakan secara terpisah untuk membantu pengemasan.

Haruskah saya mengaturnya sendiri di apache2.conf seperti ini?

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

Ya, Anda dapat menempatkannya di apache2.conf (meskipun mencari mereka di file lain conf.d/seperti yang disebutkan di atas).

MaxRequestsPerChild Anda tampaknya sangat rendah - ini bisa mencapai ribuan.

Jika Anda menjalankan mod_php, MaxClients Anda harus diturunkan secara signifikan, kecuali Anda memiliki banyak gigs RAM.

thomasrutter
sumber
Terima kasih atas jawaban anda. Instalasi Apache saya tidak ada conf.ddi /etc/apache2/. Bagaimana mungkin?
Maxim Koretskyi
Maaf, itulah yang saya dapat untuk menulis jawaban ini tanpa menguji pada 14,04. Saya hanya punya 12,04. Entah mereka telah mengubah direktori conf untuk apache atau sesuatu yang lain terjadi :)
thomasrutter
OK, kami akan menunggu seseorang untuk mengklarifikasi masalah ini :). Bisakah Anda jelaskan hal ini 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 default adalah 10.000 yang berarti suatu proses hanya akan dimulai kembali setiap 10.000 permintaan per proses. Menurunkan ini ke 100 sepertinya hanya akan merusak kinerja kecuali Anda mengalami masalah khusus seperti kebocoran memori yang buruk. Dan untuk MaxClients, dengan mod_php Anda mungkin perlu menurunkan ini dari default-nya karena setiap prosesnya sangat besar - kecuali Anda memiliki banyak Gigabytes RAM.
thomasrutter