meta data for this page
Perbedaan
Ini menunjukkan perbedaan antara versi yang terpilih dengan versi yang sedang aktif.
Kedua sisi revisi sebelumnyaRevisi sebelumnyaRevisi selanjutnya | Revisi sebelumnya | ||
nodejs:menjalankan_project_dengan_pm2 [2024/09/22 01:29] – Mohammad Riza Nurtam | nodejs:menjalankan_project_dengan_pm2 [2024/09/23 00:05] (sekarang) – revisi lama ditampilkan kembali (2024/09/22 06:06) Mohammad Riza Nurtam | ||
---|---|---|---|
Baris 1: | Baris 1: | ||
- | ====== Menjalankan | + | ====== Menjalankan |
+ | |||
+ | ===== Install Node.js ===== | ||
+ | |||
+ | Sebelumnya pastikan nodejs sudah terinstall. Lihat laman [[: | ||
===== Menyiapkan directory dari project ===== | ===== Menyiapkan directory dari project ===== | ||
Baris 6: | Baris 10: | ||
==== Pindah ke directory /opt ==== | ==== Pindah ke directory /opt ==== | ||
- | |||
< | < | ||
+ | |||
cd /opt | cd /opt | ||
</ | </ | ||
+ | |||
==== Buat directory baru bernama projects ==== | ==== Buat directory baru bernama projects ==== | ||
Baris 17: | Baris 22: | ||
</ | </ | ||
+ | |||
===== Menyiapkan permission dari project ===== | ===== 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 | + | 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 ==== | ==== Buat group baru ==== | ||
Baris 38: | Baris 44: | ||
Pada kasus ini username yang akan menjalankan project adalah | Pada kasus ini username yang akan menjalankan project adalah | ||
- | < | + | < |
* a: menambahkan user ke group tertentu, | * a: menambahkan user ke group tertentu, | ||
Baris 47: | Baris 53: | ||
</ | </ | ||
+ | |||
===== Menginisiasi project ===== | ===== Menginisiasi project ===== | ||
Baris 55: | Baris 62: | ||
</ | </ | ||
+ | |||
==== Inisiasi sebuah project nest ==== | ==== Inisiasi sebuah project nest ==== | ||
Baris 63: | Baris 71: | ||
</ | </ | ||
+ | |||
==== Ubah kepemilikan directory patra ke group projects ==== | ==== Ubah kepemilikan directory patra ke group projects ==== | ||
Agar user yang tergabung dalam group | Agar user yang tergabung dalam group | ||
< | < | ||
- | < | + | < |
< | < | ||
Baris 73: | Baris 82: | ||
</ | </ | ||
+ | |||
===== Menjalankan project ===== | ===== Menjalankan project ===== | ||
- | ==== 8. test running | + | ==== Ujicoba menjalankan |
- | npm run start \\ | + | Untuk menguji apakah program dapat berjalan, biasanya dicoba dengan menggunakan perintah |
- | # menghentikan proses \\ | + | |
- | [ctrl]+[c] | + | |
- | ==== 9. build project ==== | + | < |
+ | node app.js | ||
- | npm run build | + | </ |
+ | |||
+ | atau jika menggunakan framework seperti diatas dapat juga dijalankan dengan perintah | ||
+ | |||
+ | < | ||
+ | npm run start | ||
+ | |||
+ | </ | ||
+ | |||
+ | Untuk menghentikan program gunakan kombinasi tombol ** <font inherit/ | ||
===== Menginstall, | ===== Menginstall, | ||
- | ==== 9. install | + | ==== Menginstall |
+ | 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 | sudo npm install -g pm2 | ||
- | ==== 10. running project dengan pm2 sebagai user biasa ==== | + | </ |
- | # tambahkan proses \\ | + | ==== Menjalankan program dengan |
- | pm2 start / | + | |
- | # melihat proses | + | Untuk menambahkan program ke PM2, gunakan perintah |
+ | |||
+ | < | ||
+ | pm2 start node / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Untuk melihat proses | ||
+ | |||
+ | < | ||
pm2 list | pm2 list | ||
- | # menjadikan pm2 start otomatis ketika | + | </ |
+ | |||
+ | ==== Menjadikan agar PM2 langsung berjalan saat boot ==== | ||
+ | |||
+ | Agar PM2 dapat langsung berjalan saat server | ||
+ | |||
+ | < | ||
pm2 startup | pm2 startup | ||
- | # copy-paste perintah yang muncul pada tahapan diatas \\ | + | </code> |
- | sudo env PATH=$PATH:/usr/ | + | |
- | # menyimpan daftar proses saat ini \\ | + | Perintah tersebut akan memunculkan perintah yang akan dijalankan sebagai user root. Copy perintah yang muncul pada tahapan diatas dan jalankan. |
+ | |||
+ | < | ||
+ | sudo env PATH=$PATH:/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Perintah ini membuat sebuah service baru atas nama user biasa, yaitu user | ||
+ | < | ||
+ | |||
+ | Kita dapat menyimpan daftar proses saat ini, agar ikut berjalan saat server boot | ||
+ | |||
+ | < | ||
pm2 save | pm2 save | ||
- | # jika ingin mencoba, mematikan semua proses | + | </ |
+ | |||
+ | Jika ingin mencoba, mematikan semua proses | ||
+ | |||
+ | < | ||
pm2 stop all | pm2 stop all | ||
- | # mematikan salah satu proses saja, gunakan id dari proses tersebut | + | </ |
+ | |||
+ | Jika ingin mematikan salah satu proses saja, gunakan id dari proses tersebut | ||
+ | |||
+ | < | ||
pm2 stop 2 | pm2 stop 2 | ||
- | # menghidupkan | + | </ |
+ | |||
+ | Menghidupkan | ||
+ | |||
+ | < | ||
pm2 start 2 | pm2 start 2 | ||
- | # setelah | + | </ |
+ | |||
+ | Setelah | ||
+ | |||
+ | < | ||
sudo reboot | sudo reboot | ||
+ | |||
+ | </ | ||