Berbagai cara untuk Memulai Ulang PHP-FPM
PHP-FPM (PHP FastCGI Process Manager) adalah pengelola proses yang kuat dan banyak digunakan untuk PHP, yang sering kali disukai karena kecepatan dan kemampuannya untuk menangani situs web dengan lalu lintas tinggi. Mengetahui cara merestart PHP-FPM sangat penting bagi para pengembang dan administrator sistem, terutama ketika menerapkan perubahan pada konfigurasi PHP, menyelesaikan masalah, atau melakukan pemeliharaan rutin. Pada artikel ini, kita akan membahas beberapa metode untuk memulai ulang PHP-FPM pada sistem yang berbeda dan di lingkungan yang berbeda.
Mengapa Memulai Ulang PHP-FPM?
Sebelum masuk ke dalam metode-metode tersebut, mari kita bahas secara singkat mengapa me-restart PHP-FPM mungkin diperlukan:
- Perubahan Konfigurasi: Jika Anda memodifikasi pengaturan PHP dalam berkas php.ini atau php-fpm.conf, restart diperlukan agar perubahan dapat diterapkan.
- Pengoptimalan Kinerja: Memulai ulang PHP-FPM dapat membantu mengosongkan memori dan sumber daya, terutama pada situs dengan lalu lintas tinggi.
- Resolusi Kesalahan: Jika PHP-FPM mengalami masalah atau menjadi tidak responsif, memulai ulang dapat membantu menyelesaikan gangguan sementara.
- Rotasi Log: Setelah merotasi file log untuk PHP-FPM, restart mungkin diperlukan untuk memastikan log baru ditulis dengan benar.
Prasyarat
Pastikan Anda memiliki akses root atau hak akses yang diperlukan untuk memulai ulang layanan pada server Anda. Tergantung pada distribusi Linux Anda, Anda mungkin menggunakan perintah yang berbeda seperti systemctl atau service.
Metode 1: Menggunakan systemctl
Pada distribusi Linux modern seperti Ubuntu 16.04 dan CentOS 7, systemctl merupakan metode standar untuk mengelola layanan, termasuk PHP-FPM. Berikut ini adalah cara untuk memulai ulang PHP-FPM menggunakan systemctl:
Mulai ulang PHP-FPM
sudo systemctl restart php-fpm
Perintah ini akan memulai ulang layanan PHP-FPM, menerapkan perubahan konfigurasi baru.
Menghentikan dan Memulai PHP-FPM
Jika Anda menginginkan kontrol lebih besar, Anda dapat menghentikan dan memulai PHP-FPM secara manual:
sudo systemctl stop php-fpm
sudo systemctl start php-fpm
Ini dapat membantu jika Anda perlu memastikan bahwa layanan benar-benar berhenti sebelum memulainya lagi.
Memeriksa Status
Untuk memastikan bahwa PHP-FPM telah dimulai ulang dengan sukses, gunakan:
sudo systemctl status php-fpm
Ini akan menampilkan status layanan PHP-FPM, termasuk apakah layanan ini aktif dan pesan log terbaru.
Metode 2: Menggunakan Perintah layanan
Perintah service biasanya digunakan pada distribusi Linux yang lebih lama atau untuk kompatibilitas ke belakang. Berikut ini adalah cara memulai ulang PHP-FPM menggunakan service:
Atau, untuk menghentikan dan memulai layanan secara terpisah:
sudo service php-fpm stop
sudo service php-fpm start
Metode 3: Memulai Ulang Versi PHP-FPM Tertentu
Jika Anda memiliki beberapa versi PHP yang terinstal, Anda perlu menentukan versi PHP-FPM yang ingin Anda mulai ulang. Sebagai contoh, jika Anda menginstal PHP 7.4, gunakan perintah berikut:
sudo systemctl restart php7.4-fpm
Atau dengan layanan:
sudo service php7.4-fpm restart
Metode ini sangat berguna untuk lingkungan di mana versi PHP yang berbeda diperlukan untuk aplikasi atau situs web yang berbeda.
Metode 4: Mengirim Sinyal Langsung ke PHP-FPM
Anda bisa secara langsung mengirim sinyal ke PHP-FPM untuk memuat ulang konfigurasi tanpa harus memulai ulang layanan sepenuhnya. Ini adalah pendekatan yang lebih halus yang tidak terlalu mengganggu lalu lintas web Anda:
Muat Ulang Konfigurasi
Untuk memuat ulang konfigurasi PHP-FPM tanpa menghentikan proses yang ada, gunakan:
sudo kill -USR2 $(cat /run/php/php-fpm.pid)
Ganti /run/php/php-fpm.pid dengan jalur ke file PID Anda yang sebenarnya jika berbeda. Metode ini berguna ketika Anda ingin memuat ulang perubahan konfigurasi tanpa memulai ulang semua proses PHP-FPM.
Restart dengan Anggun
Graceful restart memungkinkan PHP-FPM untuk menyelesaikan melayani permintaan yang sedang berjalan sebelum memulai ulang:
sudo kill -QUIT $(cat /run/php/php-fpm.pid)
Hal ini sangat membantu dalam lingkungan produksi di mana Anda ingin menghindari interupsi sesi pengguna yang sedang aktif.
Metode 5: Menggunakan pkill atau killall
Jika Anda menghadapi masalah dengan PHP-FPM dan perlu menghentikan semua proses secara paksa, Anda dapat menggunakan pkill atau killall. Ini adalah metode yang lebih agresif dan harus digunakan dengan hati-hati:
sudo pkill php-fpm
Atau:
sudo killall php-fpm
Setelah mematikan proses, Anda perlu memulai PHP-FPM secara manual:
sudo systemctl start php-fpm
Metode 6: Menggunakan Nginx atau Apache Restart
Dalam beberapa kasus, memulai ulang server web Anda secara tidak langsung dapat memulai ulang PHP-FPM jika ia terkait erat dengan proses server web. Inilah cara Anda dapat melakukannya:
Nginx
sudo systemctl restart nginx
Apache
sudo systemctl restart apache2
Meskipun metode ini tidak disarankan untuk masalah khusus PHP-FPM, metode ini dapat berguna jika Anda melakukan pemeliharaan pada seluruh tumpukan web Anda.
Praktik Terbaik untuk Memulai Ulang PHP-FPM
- Periksa Log: Sebelum memulai ulang, periksa log PHP-FPM untuk mengetahui adanya kesalahan atau peringatan. Hal ini dapat membantu mengidentifikasi masalah mendasar yang dapat diselesaikan tanpa memulai ulang.
- Restart yang Lembut dalam Produksi: Selalu pilih restart secara halus di lingkungan produksi untuk menghindari gangguan pada pengguna.
- Pantau Penggunaan Sumber Daya: Gunakan alat bantu seperti top, htop, atau ps untuk memantau proses PHP-FPM sebelum dan sesudah restart untuk memastikan proses berjalan seperti yang diharapkan.
Kesimpulan
Memulai ulang PHP-FPM adalah tugas umum yang harus diketahui oleh setiap administrator atau pengembang server. Apakah Anda menggunakan systemctl, servis, mengirim sinyal, atau melakukan restart dengan mudah, mengetahui metode yang tepat untuk situasi Anda dapat memastikan kinerja yang lancar dan gangguan minimal pada layanan Anda. Dengan mengikuti praktik terbaik, Anda dapat menjaga PHP-FPM Anda tetap berjalan secara efisien dan menangani masalah apa pun yang mungkin timbul dengan percaya diri.