meta data for this page
  •  

Ini adalah dokumen versi lama!


Menjalankan Project Node.js menggunakan PM2

Install Node.js

Sebelumnya pastikan nodejs sudah terinstall. Lihat laman instalasi nodejs.

Menyiapkan directory dari project

Sebelum menjalankan program, siapkan directory terlebih dahulu. Directory /opt pada linux digunakan untuk meletakkan program 3rd party agar tidak mengganggu program internal dari sistem linux

Pindah ke directory /opt

cd /opt

Buat directory baru bernama projects

sudo mkdir projects

Menyiapkan permission dari project

Agar sistem linux anda aman, maka program akan dijalankan sebagai user biasa, bukan sebagai user root. Untuk itu perlu disiapkan permission dari project tersebut. Pada contoh kasus ini, kami menggunakan group projects sebagai group yang akan menjalankan program.

Buat group baru

sudo addgroup projects

Jadikan directory /opt/projects menjadi milik group projects

sudo chgrp projects /opt/projects

Tambahkan user saat ini kepada group projects

Pada kasus ini username yang akan menjalankan project adalah saya . Perintah berikut ini menggunakan parameter -aG (huruf a kecil dan G kapital) yang berarti

  • a: menambahkan user ke group tertentu,
  • G: menambahkan tanpa menghapus user dari group yang sudah ada.
sudo usermod -aG projects saya

Menginisiasi project

Masuk ke directory projects

cd /opt/projects

Inisiasi sebuah project nest

Pada kasus ini kami membuat sebuah project bernama PATRA, dengan bahasa Javascript (bukan Typescript), menggunakan framework Nestjs. Perintah ini akan secara otomatis membuatkan sebuah directory di dalam directory saat ini (/opt/projects/).

sudo nest new patra –language=js

Ubah kepemilikan directory patra ke group projects

Agar user yang tergabung dalam group projects dapat melakukan aktivitas di dalam directory, maka kepemilikannya perlu diubah menjadi group projects .

sudo chgrp -R projects /opt/projects/patra

Menjalankan project

Ujicoba menjalankan project sebagai user biasa

Untuk menguji apakah program dapat berjalan, biasanya dicoba dengan menggunakan perintah

node app.js

atau jika menggunakan framework seperti diatas dapat juga dijalankan dengan perintah

npm run start

Untuk menghentikan program gunakan kombinasi tombol [ctrl]+[c]

Menginstall, mengkonfigurasi dan menggunakan PM2

Menginstall pm2 secara global

PM2 adalah sebuah service yang akan menjalankan program nodejs dan memantau program tersebut serta merestartnya jika dibutuhkan. Untuk menginstall PM2 secara global gunakan perintah berikut

sudo npm install -g pm2

Menjalankan program dengan pm2 sebagai user biasa

Untuk menambahkan program ke PM2, gunakan perintah

pm2 start node /opt/projects/patra/index.js –name patra-api

Untuk melihat proses yang sedang berjalan dapat menggunakan perintah

pm2 list

Menjadikan agar PM2 langsung berjalan saat boot

Agar PM2 dapat langsung berjalan saat server boot, gunakan perintah

pm2 startup

Perintah tersebut akan memunculkan perintah yang akan dijalankan sebagai user root. Copy perintah yang muncul pada tahapan diatas dan jalankan.

sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u saya –hp /home/saya

Perintah ini membuat sebuah service baru atas nama user biasa, yaitu user saya

Kita dapat menyimpan daftar proses saat ini, agar ikut berjalan saat server boot

pm2 save

Jika ingin mencoba, mematikan semua proses

pm2 stop all

Jika ingin mematikan salah satu proses saja, gunakan id dari proses tersebut

pm2 stop 2

Menghidupkan service tertentu, gunakan id proses tersebut, misalnya 2

pm2 start 2

Setelah konfigurasi pm2 selesai, restart server

sudo reboot