Mode PHP: mod_php, FastCGI, dan PHP-FPM pada VPS
Menerapkan Aplikasi PHP di VPS AlexHost: Pilih Mode Terbaik (mod_php vs FastCGI vs PHP-FPM)
PHP mendukung 80%+ situs web – tetapi mode eksekusi yang salah = pemuatan lambat, RAM tinggi, crash. VPS AlexHost dengan NVMe, dan proteksi DDoS memberi Anda kendali penuh untuk memilih mod_php, FastCGI, atau PHP-FPM untuk kecepatan tinggi. Panduan ini membandingkan ketiganya, menunjukkan pengaturan 1-klik cPanel, dan mengungkapkan mengapa PHP-FPM + LiteSpeed = 10x lebih cepat.
1. Memahami Mode Eksekusi PHP
1.1. mod_php
mod_php adalah modul Apache yang memungkinkan PHP berjalan sebagai modul Apache. Metode ini sering kali merupakan yang paling sederhana untuk disiapkan
- Bagaimana cara kerjanya: PHP berjalan sebagai bagian dari proses Apache. Ketika permintaan untuk file PHP masuk, Apache memanggil mod_php untuk menangani eksekusi.
- Performa: mod_php bisa cepat untuk aplikasi berukuran kecil hingga menengah, karena menghilangkan overhead untuk memunculkan proses terpisah untuk setiap permintaan.
Kelemahan
- Sumber daya yang intensif: Karena PHP berjalan di dalam proses Apache, setiap permintaan menghabiskan memori dan dapat menyebabkan penggunaan sumber daya yang tinggi, terutama di bawah beban yang berat.
- Konfigurasi Terbatas: Tidak memiliki fitur dan kontrol canggih yang tersedia dalam metode lain, seperti PHP-FPM.
1.2. FastCGI
FastCGI adalah alternatif dari mod_php yang memungkinkan PHP untuk berjalan sebagai proses terpisah, yang dapat menangani beberapa permintaan secara bersamaan
- Bagaimana cara kerjanya: Proses FastCGI berkomunikasi dengan server web (Apache atau Nginx) melalui sebuah soket. Ketika sebuah permintaan diterima, server web meneruskannya ke proses FastCGI untuk dieksekusi.
- Performa: FastCGI dapat meningkatkan performa untuk situs dengan lalu lintas tinggi, karena dapat mengelola banyak permintaan dan proses yang bertahan.
Kelemahan
- Kerumitan Konfigurasi: Menyiapkan FastCGI bisa lebih rumit daripada menggunakan mod_php, membutuhkan konfigurasi tambahan di server web.
1.3. PHP-FPM (Pengelola Proses FastCGI)
PHP-FPM adalah versi lanjutan dari FastCGI yang menyediakan fitur tambahan untuk mengelola proses PHP
- Bagaimana cara kerjanya: PHP-FPM mengelola sekumpulan proses PHP yang menangani permintaan dari server web. Ini dapat secara dinamis menyesuaikan jumlah proses berdasarkan lalu lintas, meningkatkan efisiensi.
- Kinerja: PHP-FPM sangat efisien untuk menangani permintaan yang bersamaan, sehingga cocok untuk aplikasi berkinerja tinggi.
Keuntungan
- Manajemen Proses Tingkat Lanjut: PHP-FPM memungkinkan kontrol yang lebih baik atas proses PHP, termasuk pengaturan untuk permintaan yang lambat, konfigurasi batas waktu, dan banyak lagi.
- Efisiensi Sumber Daya: Dengan mengelola kumpulan proses, PHP-FPM bisa lebih hemat memori daripada mod_php.
2. Menyiapkan PHP-FPM pada VPS
Jika Anda memutuskan untuk menggunakan PHP-FPM, berikut ini adalah cara mengaturnya pada VPS yang menjalankan Ubuntu
Langkah 1: Instal PHP dan PHP-FPM
Langkah 2: Konfigurasi Server Web Anda
- Untuk Nginx:
Edit berkas blokir server Nginx Anda
sudo nano /etc/nginx/sites-available/defaultTambahkan baris berikut ini di dalam blok server:
location ~ .php$ { include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Adjust PHP version as needed }- Untuk Apache:
Pastikan Anda telah mengaktifkan modul proxy_fcgi
sudo a2enmod proxy_fcgiKemudian edit berkas konfigurasi Apache Anda
sudo nano /etc/apache2/sites-available/000-default.confTambahkan baris berikut ini di dalam blok <VirtualHost>
<FilesMatch .php$> SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch>Langkah 3: Mulai Ulang Server Web Anda
Mulai ulang server web untuk menerapkan perubahan
- Untuk Nginx:
sudo systemctl restart nginx- Untuk Apache:
sudo systemctl restart apache23. Kesimpulan
Memilih mode eksekusi PHP yang tepat sangat penting untuk mengoptimalkan kinerja aplikasi Anda pada VPS. Setiap metode – mod_php, FastCGI, dan PHP-FPM – memiliki kelebihan dan kasus penggunaan yang ideal. Untuk aplikasi berkinerja tinggi, PHP-FPM sering kali menjadi pilihan terbaik karena manajemen proses dan skalabilitasnya yang efisien. Dengan memahami opsi-opsi ini, Anda dapat membuat keputusan yang tepat untuk meningkatkan kinerja dan daya tanggap server web Anda.


