Banyak yang menggunakan apache2 sebagai server web. Namun, beberapa orang berpikir tentang mengoptimalkan kinerjanya, yang secara langsung mempengaruhi kecepatan memuat halaman di situs, kecepatan pemrosesan skrip (khususnya php), serta peningkatan beban CPU dan peningkatan jumlah RAM yang digunakan.
Dengan demikian, manual berikut harus membantu pengguna pemula (dan tidak hanya).
Semua contoh di bawah ini digunakan pada Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.
Jadi mari kita mulai.
1. Menonaktifkan modul yang tidak digunakan
Metode pertama adalah penonaktifan dangkal modul yang tidak Anda gunakan:
Daftar modul yang saat ini digunakan dapat dilihat dengan perintah:
apache2ctl -M
Untuk menonaktifkan modul, gunakan perintah:
a2dismod * *
Dengan demikian, untuk mengaktifkan modul, gunakan perintah:
a2enmod * *
Harap dicatat bahwa ketika menggunakan
a2dismod , nama modul harus ditulis tanpa modul kata itu sendiri.
Misalnya, jika Anda melihat
proxy_module di output dari perintah
apache2ctl -M , maka untuk menonaktifkannya, gunakan perintah -
proxy a2dismodModul pemuatan sistem yang paling (dari pengalaman pribadi) adalah:
- PHP, Ruby, Perl dan modul lainnya untuk berbagai bahasa scripting
- SSL
- Menulis ulang
- Cgi
Jadi dalam kasus-kasus ketika Anda tidak membutuhkan modul ini, saya sarankan menonaktifkan modul ini.
Juga, setelah menonaktifkan modul, saya sarankan menggunakan perintah -
apache2ctl configtest , yang akan memeriksa konfigurasi situs yang digunakan dan jika ada modul yang dinonaktifkan diperlukan untuk mereka, itu akan memberikan kesalahan.
2. Ubah MPM (Modul Multi-Pemrosesan) dan gunakan php-fpm
Secara default, setelah instalasi, apache2 menggunakan MPM Prefork (1 utas per 1 koneksi), yang secara signifikan mengurangi kinerja, tetapi pada saat yang sama meningkatkan stabilitas dan keamanan.
Tetapi untuk mengoptimalkan kinerja, saya sarankan menggunakan MPM Worker, yang memungkinkan Anda untuk menggunakan beberapa utas pada satu koneksi sekaligus.
Untuk mengaktifkannya, gunakan perintah berikut:
a2dismod mpm_prefork // prefork a2dismod php7.3 // php, prefork a2enmod mpm_worker // worker
Namun, ketika menggunakan Pekerja, Anda mungkin mengalami masalah karena Modul php7.3 tergantung pada modul Prefork.
Untuk mengatasi masalah ini, instal modul php7.3-fpm, yang akan digunakan untuk mengerjakan skrip php:
apt-get update && apt-get install php7.3-fpm // systemctl enable php7.3-fpm && systemctl start php7.3-fpm // a2enmod php7.3-fpm && a2enconf php7.3-fpm.conf //
Perlu dicatat bahwa penggunaan php-fpm juga akan mengurangi jumlah RAM yang digunakan oleh proses apache2 dan akan sedikit mempercepat pemrosesan skrip php.
3. Kesimpulan
Jadi, dengan tindakan sederhana seperti itu, kami dapat mengoptimalkan kinerja dan mengurangi beban pada mesin (dalam hal ini, RPI3).
Tentu saja, ada ratusan opsi pengoptimalan lainnya, seperti mengaktifkan kompresi (yang benar-benar berguna, tetapi sebagian besar sudah diaktifkan secara default), mengubah parameter MPM (file konfigurasi), menonaktifkan HostnameLookups, dll., Tetapi dalam artikel ini saya mencoba untuk mencerminkan itulah poin yang paling membantu saya, dan saya berharap mereka akan membantu orang lain.