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