Berikut adalah contoh konfigurasi /etc/php/7.4/fpm/pool.d/www.conf
untuk menangani presensi traffik tinggi menggunakan pada Ubuntu dengan PHP-FPM versi 7.4:
; Start a new pool named 'www'.[www]; The user and group PHP-FPM will run as.; Set to "www-data" for most cases.user = www-datagroup = www-data ; Listen address, menggunakan Unix socket. listen = /var/run/php/php7.4-fpm.sock ; Set permissions for Unix socket, jika perlu. listen.owner = www-data listen.group = www-data listen.mode = 0660 ; Process manager settings. pm = dynamic pm.max_children = 200 pm.start_servers = 50 pm.min_spare_servers = 30 pm.max_spare_servers = 70 pm.process_idle_timeout = 15s pm.max_requests = 500 ; Set the timezone. php_admin_value[date.timezone] = "Asia/Jakarta" ; Disable expose_php. php_admin_flag[expose_php] = off ; Disable remote code execution. php_admin_flag[allow_url_fopen] = off php_admin_flag[allow_url_include] = off
Penjelasan konfigurasi di atas:
user
dangroup
ditetapkan kewww-data
yang merupakan pengguna dan grup standar untuk server web Ubuntu. Ini harus disesuaikan dengan konfigurasi sistem Anda jika Anda menggunakan pengguna dan grup lain.listen
mengatur alamat dan port (atau jalur soket) untuk PHP-FPM mendengarkan permintaan. Dalam contoh ini, kita menggunakan jalur soket/var/run/php/php7.4-fpm.sock
untuk meningkatkan kinerja. Anda dapat mengatur nilailisten.backlog
jika perlu, namun nilai default seharusnya sudah cukup.pm
disetel kedynamic
yang memungkinkan PHP-FPM mengatur jumlah worker sesuai dengan permintaan yang diterima. Jumlah maksimum worker diatur kepm.max_children
sebesar 200. Jika jumlah pengguna yang dihadapi semakin besar, Anda dapat menyesuaikan nilai ini sesuai kebutuhan.pm.start_servers
,pm.min_spare_servers
, danpm.max_spare_servers
mengatur jumlah minimum, maksimum, dan kelebihan worker yang harus dijalankan setiap saat. Nilai default disesuaikan agar dapat menangani 100.000 pengguna bersamaan dengan baik. Jika Anda memiliki karakteristik aplikasi yang berbeda atau menghadapi situasi lalu lintas yang tidak terduga, Anda dapat menyesuaikan nilai-nilai ini secara lebih rinci.pm.process_idle_timeout
mengatur waktu maksimum yang worker dapat berada dalam keadaan idle sebelum dihentikan. Nilai default diatur sebesar 15 detik. Ini dapat disesuaikan sesuai dengan karakteristik aplikasi yang dijalankan.pm.max_requests
mengatur jumlah maksimum permintaan yang diizinkan sebelum worker dihentikan dan diganti dengan yang baru. Nilai default diatur ke 500. Nilai ini harus disesuaikan tergantung pada karakteristik aplikasi yang dijalankan dan pengalaman Anda.php_admin_value
mengatur nilai konfigurasi PHP untuk aplikasi spesifik. Dalam contoh ini, kita mengaturdate.timezone
ke “Asia/Jakarta” untuk memastikan waktu server disesuaikan dengan zona waktu setempat.php_admin_flag
mengatur nilai boolean untuk pengaturan PHP tertentu. Dalam contoh ini, kita menonaktifkanexpose_php
,allow_url_fopen
, danallow_url_include
untuk meningkatkan keamanan aplikasi.
Konfigurasi ini dapat disesuaikan sesuai dengan kebutuhan spesifik aplikasi Anda. Setiap kali Anda melakukan perubahan pada konfigurasi PHP-FPM, pastikan untuk memulai ulang layanan PHP-FPM menggunakan perintahsudo systemctl restart php7.4-fpm
agar perubahan tersebut dapat diterapkan.
Category: Uncategorized