in FOSS

Cara Konfigurasi PHP-FPM Sebagai Backup HHVM di Nginx

Tutorial kali ini akan membahas bagaimana cara konfigurasi PHP-FPM berjalan secara otomatis sebagai backup jika HHVM bermasalah atau down pada web server Nginx. Untuk mengikuti tutorial ini Nginx, HHVM, dan PHP-FPM sudah harus terinstall dengan baik.

Konfigurasi Nginx

Edit file /etc/nginx/sites-available/default.

Blok location hhvm|php

Agar PHP-FPM berjalan sebagai backup, ubah blok location hh|php dan tambahkan blok location @fpm.

Ketika terjadi error_page 502 akan mengarah ke location @fpm.

Pengujian

Kondisi Normal

Jalankan perintah berikut ini

atau

Jika file PHP dieksekusi oleh HHVM tampil pesan seperti di bawah ini. Terdapat tulisan X-Powered-By: HHVM/3.18.3.

Kondisi HHVM down

Hentikan service HHVM

Jalankan kembali perintah curl. Jika PHP-FPM berhasil dijalankan sebagai backup tampil tulisan X-Powered-By: PHP/5.5.9-1ubuntu4.21.

Namun jika HHVM dan PHP-FPM tidak berjalan maka tampil pesan error 502.

Merestart service HHVM secara otomatis

Service HHVM dapat direstart secara otomatis dengan menggunakan aplikasi ps-watcher. Aplikasi ini akan memonitor proses dan menjalankan perintah jika terjadi kondisi tertentu.

Install ps-watcher

Edit file konfigurasi /etc/ps-watcher.conf

Isi dengan kode berikut. Jika proses hhvm tidak ditemukan maka jalankan perintah restart service hhvm.

Edit file /etc/default/ps-watcher. Lepas tanda hash (#) pada startup=1.

Jalankan service ps-watcher

Secara default ps-watcher akan mengecek proses setiap 150 detik. Durasi waktunya dapat diubah melalui file /etc/default/ps-watcher pada opsi DAEMON_OPTS=”–sleep 150″.

selamat mencoba 🙂

referensi: bjornjohansen.non