Deploy PHP-FPM di Docker dengan Mudah & Cepat

Oleh Fitri Aulia
Panduan Teknis Cara Konfigurasi PHP-FPM di Docker

Jika kamu ingin menjalankan aplikasi PHP secara efisien dan terisolasi, menggunakan PHP-FPM di Docker sangat direkomendasikan. PHP-FPM (FastCGI Process Manager) dirancang untuk menangani permintaan PHP, dengan cara yang lebih cepat dan scalable dibandingkan handler tradisional. Ketika dijalankan di dalam container Docker, kamu mendapatkan lingkungan yang konsisten, portable, dan bebas dari ketergantungan konfigurasi sistem host.

Dengan arsitektur berbasis container, kamu bisa memisahkan service PHP-FPM dari web server seperti Nginx sehingga lebih mudah melakukan scaling, debugging, maupun deployment ke berbagai environment (dev, staging, production) tanpa perubahan besar.

Kalau kamu sedang membangun aplikasi PHP modern, atau ingin menjaga workflow tetap bersih dan modular, ini adalah saat yang tepat untuk mulai memanfaatkan Docker dalam pengelolaan PHP-FPM. Yuk, langsung aja kita mulai!

Persiapan Awalย 

Sebelum mulai, ada beberapa hal yang perlu disiapkan. Pertama, pastikan Docker udah terinstall di server kamu. Kalau belum, bisa langsung download dari official website Docker dan ikuti step by stepย  instalasinya. Setelah itu, siapkan project PHP yang mau dipakai, bisa aplikasi yang udah ada atau bikin project baru.ย 

Yang penting, di dalam folder project kamu harus ada file seperti index.php atau file PHP lainnya, plus composer.json kalau aplikasi kamu pakai Composer untuk dependency. Jangan lupa, tentuin versi PHP yang ingin dipakai, agar Dockerfile sesuai dengan kebutuhan. Setelah itu, DomaiNesians siap untuk buat Dockerfile dan konfigurasi PHP-FPM.

Dockerfile untuk PHP-FPM

Nah, sekarang kita bikin Dockerfile buat PHP-FPM. Dockerfile ini akan set up PHP-FPM di container sesuai kebutuhan. Contoh Dockerfile kira-kira akan seperti ini:

Baca Juga:  Panduan Lengkap Whitelist IP Address di VPS Ubuntu

Dockerfile PHP-FPM

Penjelasannya:

  • FROM php:8.2-fpm: Pakai image PHP-FPM versi 8.2.
  • RUN: Install nginx, Composer, dan dependency lain yang mungkin dibutuhkan.
  • COPY: Copy semua file aplikasi ke dalam container.
  • EXPOSE: Buka port 9000 buat PHP-FPM.
  • CMD: Jalankan PHP-FPM pas container start.

Sekarang saatnya untuk build image dan jalankan container-nya

Konfigurasi PHP-FPM di Docker

Setelah Docker container PHP-FPM berhasil, perlu tambahan konfigurasi untuk PHP-FPM sesuai kebutuhan. Konfigurasi PHP-FPM di Docker bisa disetup lewat file php.ini atau konfigurasi lain yang ada di folder container. Yuk, kita lihat langkah-langkah sederhananya:

1. Kustomisasi php.ini

Kalau kamu butuh mengubah pengaturan PHP (kayak upload_max_filesize, memory_limit, dll), kamu bisa membuat file php.ini sendiri dan copy ke container. Contoh file php.ini:

Setelah membuat file php.ini, copy ke container dengan cara ini di Dockerfile:

COPY php.ini /usr/local/etc/php/

Dengan cara ini, file php.ini akan digunakan sebagai pengaturan PHP di dalam container.

2. Konfigurasi Pool PHP-FPM

PHP-FPM punya file konfigurasi pool yang terletak di /usr/local/etc/php-fpm.d/. Kamu bisa edit file www.conf untuk setting seperti jumlah worker, timeout, dan lain-lain. Kalau mau custom lewat Docker, kamu bisa copy konfigurasi dari host ke container pakai perintah ini:

Baca Juga:  Cara Setting Google Workspace di cPanel Hosting

Atau, jika kamu tidak mau repot mengeditfile secara manual, bisa juga langsung set konfigurasi dari command line saat menjalankan container.

3. Mengatur Log

untuk debugging, kamu mungkin perlu menyalakan log PHP-FPM di Docker agar bisa melihat error. Cukup tambahkan konfigurasi ini di php.ini:

Lalu, buat folder log di container dan pastikan PHP-FPM punya write access ke sana.

4. Restart Container Setelah Perubahan

Setelah konfigurasi selesai, kamu perlu restart container agar perubahan diterapkan:

Dengan konfigurasi seperti ini, PHP-FPM akan running sesuai keinginan. Mudah kan? Jika ada pengaturan lain yang perlu diubah, tinggal edit file konfigurasi, copy ke container, dan restart.

Tips dan Trik Mengoptimalkan PHP-FPM di Docker

Supaya PHP-FPM berjalan lebih cepat dan efisien, ada beberapa tips dan trik yang bisa dicoba. Ini akan membantu aplikasi berjalan lebih lancar, apalagi jika ada lonjakan traffic.

1. Gunakan OpCache

PHP-FPM bisa jauh lebih cepat jika mengaktifkan OpCache. OpCache adalah ekstensi PHP yang berfungsi untuk melakukan caching bytecode hasil kompilasi PHP. Dengan OpCache aktif, PHP tidak perlu mengkompilasi ulang script pada setiap request, sehingga meningkatkan performa aplikasi secara signifikan. Untuk mengaktifkan OpCache, kamu cukup menambahkan atau mengubah konfigurasi berikut di file php.ini:

opcache

2. Sesuaikan Jumlah PHP-FPM Workers

Jumlah workers di PHP-FPM sangat mempengaruhi performa, apalagi kalau aplikasi kamu butuh handle banyak request. Cek di file www.conf, lalu sesuaikan setting pm.max_children, pm.start_servers, dan pm.min_spare_servers supaya pas dengan kebutuhan. Misalnya:

Baca Juga:  Dockerfile: Panduan Lengkap Membuat Custom Container

3. Optimalkan Timeout dan Limits

Kadang aplikasi PHP butuh waktu lebih lama untuk merespon. Atur max_execution_time dan max_input_time yang lebih tinggi di php.ini biar PHP tidak ke-cutout:

Jangan lupa juga set memory_limit yang cukup, agar PHP tidak kehabisan memori.

4. Gunakan FPM Pool untuk Setiap Aplikasi

Kalau kamu punya beberapa aplikasi PHP di dalam satu container, lebih baik buat FPM pool terpisah untuk setiap aplikasi. Ini menjaga setiap aplikasi punya resource yang cukup dan tidak saling mengganggu.

5. Tidak Perlu Jalankan Semua Ekstensi PHP

Jangan install ekstensi PHP yang tidak perlu. Kalau aplikasi kamu tidak butuh gd atau mbstring, tidak usah diinstall. Itu bisa mengurangi beban server dan mempercepat waktu load.

6. Monitor PHP-FPM dengan Status Page

Pakai fitur status PHP-FPM di Docker buat cek performa secara real-time. Bisa kamu aktifkan di www.conf:

Ini akan memberi akses ke page statistik, seperti jumlah request yang diterima, berapa banyak workers yang aktif, dan banyak lagi.

Kesimpulan

Secara keseluruhan, optimasi PHP-FPM di Docker bisa membuat aplikasi PHP kamu jalan lebih cepat dan efisien. Dengan setting yang tepat, seperti mengaktifkan OpCache, mengatur jumlah workers, dan memonitor performa, DomaiNesians bisa pastikan server PHP-FPM tetap lancar meski di tengah traffic yang padat. Jangan lupa juga buat pakai trik optimasi agar server tidak overload.

Kalau kamu mau performa yang lebih stabil dan kontrol lebih atas aplikasi, hosting PHP-FPM di Cloud VPS bisa jadi pilihan yang oke banget. Dengan VPS, kamu bisa atur spesifikasi sesuai kebutuhan dan bebas ngatur konfigurasi server. Pilih VPS yang punya uptime stabil dan performa handal, agar aplikasi PHP kamu selalu optimal tanpa gangguan.

Fitri Aulia

Hi! I'm a tech enthusiast who loves digging into how things work, especially in web development, VPS setups, and anything open-source.

Berlangganan Artikel

Dapatkan artikel, free ebook dan video
terbaru dari DomaiNesia

{{ errors.name }} {{ errors.email }}
Migrasi ke DomaiNesia

Migrasi Hosting ke DomaiNesia Gratis 1 Bulan

Ingin memiliki hosting dengan performa terbaik? Migrasikan hosting Anda ke DomaiNesia. Gratis jasa migrasi dan gratis 1 bulan masa aktif!

Ya, Migrasikan Hosting Saya

Promo DomaiNesia

This will close in 0 seconds