Cara Menginstal Dan Mengatur PM2 Di Server FreeBSD

Terbit: Perbarui:
Tags


Penyebaran (deployment) merupakan salah satu tahap paling penting dan krusial dalam pengembangan perangkat lunak. Strategi implementasi yang tepat sangatlah penting untuk memastikan pengalaman pengguna terbaik sekaligus menjamin penggunaan layanan yang efektif. Namun, proses ini juga menghadirkan sejumlah permasalahan.

Node.js, yang berjalan pada lingkungan runtime JavaScript sumber terbuka (open source), merupakan pilihan populer untuk membangun infrastruktur backend aplikasi Anda. Node.js memungkinkan Anda menjalankan JavaScript di luar peramban web. Namun, bagaimana jika aplikasi Node Anda mengalami kegagalan, apakah JavaScript-nya juga akan ikut gagal?.

PM2 atau Process Manager 2, adalah aplikasi Open Source. PM2 adalah manajer proses produksi untuk aplikasi Node.js yang memungkinkan Anda memulai, mengelola, menskalakan proses node dengan cepat, dan menjaga aplikasi Anda tetap online. Ini adalah Load Balancer bawaan yang mengimplementasikan mulai ulang otomatis saat terjadi kerusakan dan mesin dihidupkan ulang. PM2 (saat ini versi 4.5.6) diinstal secara default di container Node.js.

Untuk memastikan kelangsungan operasional server Node.js, Anda harus membiarkan konsol tetap terbuka setiap saat atau menggunakan manajer proses pm2. Manajer ini memiliki fitur load balancer bawaan, memungkinkan pemantauan penggunaan sumber daya oleh proses yang sedang berjalan, serta secara otomatis memulai ulang proses setelah kegagalan sistem, dan sebagainya.

A. Spesifikasi Sistem Yang Digunakan

  • OS: FreeBSD 13.2
  • IP Address: 192.168.5.2
  • Domain: unixexplore.com
  • Hostname: ns
  • NPM version: 10.2.4
  • Node version: v18.18.2
  • PM2 version: 5.3.0

B. Cara Menginstal PM2

Sebelum Anda dapat menjalankan aplikasi PM2, pastikan Node telah terinstal di server FreeBSD Anda. Manajer proses PM2 tersedia di repositori npm dan harus diinstal secara global pada sistem.

Sebelum menginstal PM2, pastikan paket pustaka untuk Node dan npm telah terinstal. Berikut adalah berkas pustaka yang harus Anda instal.

root@ns:~ # pkg install git scons-py39 python gcc gmake npm bash wget

Sekarang, langsung kita mulai install pm2.

root@ns:~ # npm install -g npm-upgrade
root@ns:~ # npm install uuid@latest --force
root@ns:~ # npm audit fix --force
root@ns:~ # npm install -g pm2

Kita lanjutkan dengan mengaktifkan PM2 di server FreeBSD

root@ns:~ # pm2 startup freebsd
root@ns:~ # service pm2_root restart

C. Menjalankan Aplikasi Node.js Menggunakan PM2

Agar pemahaman kita mengenai penggunaan PM2 menjadi lebih mendalam, kita akan mempelajari fitur-fitur PM2 yang paling umum digunakan serta cara memanfaatkannya untuk melakukan deployment, pengelolaan, dan scaling aplikasi Node.js di lingkungan produksi. Dalam artikel ini, kita akan mengeksplorasi berbagai fungsi PM2 menggunakan contoh aplikasi Node.js.

Sebagai langkah awal, Anda harus aktif sebagai pengguna root dan berada di dalam folder /root. Mari kita mulai dengan mengkloning repositori aplikasi dari GitHub.

root@ns:~ # git clone https://github.com/Tjatse/pm2-gui.git
root@ns:~ # cd pm2-gui
root@ns:~/pm2-gui # npm install exports express path axios morgan pug
root@ns:~/pm2-gui # npm install pm2-gui --production
root@ns:~/pm2-gui # npm install --production

Setelah itu, anda ubah file /root/pm2-gui/pm2-gui.ini dan ubah baris origins = 'example.com:* http://example.com:* http://www.example.com:8088' menjadi origins = '192.168.5.2:* http://192.168.5.2:* http://192.168.5.2:8088'. Hapus tanda titik koma (";") tersebut. Alamat IP 192.168.5.2 adalah IP lokal server FreeBSD.

;   origins = 'example.com:* http://example.com:* http://www.example.com:8088

Ubah dengan,

origins = '192.168.5.2:* http://192.168.5.2:* http://192.168.5.2:8088

Setelah itu, kita dapat menjalankan aplikasi tersebut.

root@ns:~ # cd /root/pm2-gui
root@ns:~/pm2-gui # pm2 start pm2-gui.js

Buka peramban web Google Chrome. Pada bilah alamat, ketikkan http://192.168.5.2:8088/.

D. Mengelola Aplikasi

Untuk menampilkan daftar semua aplikasi yang sedang berjalan.

root@ns:~/pm2-gui # pm2 list

Mengelola aplikasi itu mudah.

root@ns:~/pm2-gui # pm2 start pm2-gui.js
root@ns:~/pm2-gui # pm2 stop pm2-gui.js
root@ns:~/pm2-gui # pm2 restart pm2-gui.js

Untuk memantau file log, metrik kustom, dan informasi aplikasi, jalankan perintah berikut ini.

root@ns:~/pm2-gui # pm2 monit

Hasil dari skrip pm2 monit di atas ditunjukkan oleh gambar di bawah ini.

skrip file pm2 monit
Hasil dari skrip file pm2 monit

PM2 memungkinkan Anda memantau kondisi vital host/server melalui speedbar pemantauan. Untuk mengaktifkan pemantauan host:

root@ns:~/pm2-gui # pm2 set pm2:sysmonit true
root@ns:~/pm2-gui # pm2 update

Dalam artikel ini, kita telah berhasil menyelesaikan deployment aplikasi Node.js untuk hosting di FreeBSD. Aplikasi berjalan dengan lancar dan diperbarui secara otomatis setiap kali ada perubahan. Namun, ini merupakan kasus penggunaan Node.js yang sangat sederhana, sehingga sangat cocok untuk aplikasi proyek sekolah maupun pelatihan.

Saat melakukan deployment, Anda mungkin juga memerlukan konfigurasi tambahan, seperti menginstal sertifikat OpenSSL atau mengubah konfigurasi Apache. Langkah-langkah akhir yang diperlukan untuk men-deploy aplikasi ke lingkungan produksi bergantung pada stack teknologi yang digunakan, serta dependensi dan koneksi yang ada, seperti basis data, web server, dan utilitas otomatisasi.