meta data for this page
  •  

Ini adalah dokumen versi lama!


Menjalankan project nodejs menggunakan PM2

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

8. test running project sebagai user biasa

npm run start
# menghentikan proses
[ctrl]+[c]

9. build project

npm run build

Menginstall, mengkonfigurasi dan menggunakan PM2

9. install pm2 (global)

sudo npm install -g pm2

10. running project dengan pm2 sebagai user biasa

# tambahkan proses
pm2 start /opt/projects/patra/index.js –name patra-api

# melihat proses
pm2 list

# menjadikan pm2 start otomatis ketika server reboot
pm2 startup

# copy-paste perintah yang muncul pada tahapan diatas
sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u mriza –hp /home/mriza

# menyimpan daftar proses saat ini
pm2 save

# jika ingin mencoba, mematikan semua proses
pm2 stop all

# mematikan salah satu proses saja, gunakan id dari proses tersebut
pm2 stop 2

# menghidupkan service tertentu, gunakan id
pm2 start 2

# setelah konfigurasi pm2 selesai, restart server
sudo reboot