Cara Install Node.js dan PM2 di VPS Ubuntu 22.04

Apa itu Node.js?

Node.js adalah sebuah perangkat lunak yang dikembangkan oleh Ryan Dahl, Node.js digunakan untuk membantu pengembangan aplikasi berbasis web.

Node.js memungkinkan pengembangan aplikasi berbasis server yang bersifat cepat, skalabel, dan dapat menangani banyak proses secara bersamaan. Sedangkan PM2 adalah sebuah aplikasi process manager untuk Node.js.

Pada kb kali ini, kami akan melakukan deploy dan install Node.js beserta PM2 di VPS Ubuntu 22.04.

Persyaratan

  • VPS KVM Qwords
  • OS ubuntu 22.04
  • Ram 2 – 4 GB, Disk 10GB

Jika kalian belum mempunyai VPS, kalian bisa membeli VPS MURAH di qwords yang menyediakan berbagai pilihan yang dapat Anda gunakan.

Cara Install Node.js

1. Download package dan Extract Node.js.

wget -c https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz
tar xvf node-v18.16.0-linux-x64.tar.xz

2. Buatlah direktori baru dan pindahkan file yang telah di extract tadi

sudo mkdir /usr/local/lib/nodejs
sudo cp -Rv node-v18.16.0-linux-x64 /usr/local/lib/nodejs/18.16.0

3. Buat link Node.js ke process linux.

sudo ln -s /usr/local/lib/nodejs/18.16.0/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/nodejs/18.16.0/bin/npm /usr/bin/npm
sudo ln -s /usr/local/lib/nodejs/18.16.0/bin/npx /usr/bin/npx

4. Cek versi Node.js yang berjalan.

node -v

Cara deploy Node.js di Ubuntu

1. Atur direktori app Node.js yang dijalankan. Kami akan meletakkan file app pada folder /var/www/nodejs

sudo mkdir /var/www/nodejs
sudo chmod -R 755 /var/www/nodejs
sudo chown -R $USER:$USER /var/www/nodejs

2. Buat file app.js yang akan menjadi running file Node.js pada PM2.

cd /var/www/nodejs
touch app.js
nano app.js

3. Isi file app.js dengan script berikut ini.

var http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Halo Sahabat Qwords\n');

}).listen(3000, '127.0.0.1');

console.log('Server running at http://127.0.0.1:3000/');

4. Running Aplikasi Node.js, dengan menjalankan script dibawah , node.js dapat diakses dari Ip/localhost:3000 pada browser anda.

node app.js

Jika instalasi berhasil, maka akan tampil ‘Halo Sahabat Qwords’ seperti gambar berikut ini .

Cara Install PM2

PM2 (Process Manager 2) adalah alat manajemen proses untuk aplikasi Node.js. Fungsi utamanya adalah memantau, mengelola, dan menjaga aplikasi Node.js tetap berjalan secara terus-menerus. PM2 dapat digunakan untuk memulai, menghentikan, dan mengelola proses aplikasi.

PM2 akan sangat berfungsi apabila terdapat server down atau program Node.js yang tidak berjalan, pm2 akan melakukan auto-restart agar app berjalan normal kembali. Berikut adalah cara install PM2 di Ubuntu.

1. Gunakan npm untuk menginstal PM2 secara global.

sudo npm install pm2 -g
sudo ln -s /usr/local/lib/nodejs/18.16.0/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2

2. Cek versi PM2 yang berjalan.

pm2 -v

3. Jalankan Script Node.js yang dibuat sebelumya menggunakan PM2.

pm2 start app.js

Setelah dijalankan, akan muncul debug seperti ini :

[PM2] Spawning PM2 daemon with pm2_home=/home/nodejs/.pm2

[PM2] PM2 Successfully daemonized

[PM2] Starting /var/www/nodejs/app.js in fork_mode (1 instance)

[PM2] Done.

????????????????????????????????????????????????????????????????????????????????????????????????????????????
? App name ? id ? version ? mode ? pid  ? status ? restart ? uptime ? cpu ? mem       ? user    ? watching ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????
? app ? 0  ? N/A     ? fork ? 3410 ? online ? 0       ? 0s     ? 0%  ? 13.2 MB   ? nodejs ? disabled ?
????????????????????????????????????????????????????????????????????????????????????????????????????????????
Use `pm2 show <id|name>` to get more details about an app

4. Selanjutnya, aktifkan service PM2 agar tetap berjalan saat Boot.

sudo pm2 startup systemd

5. Daftar perintah untuk mengelola PM2 melalui terminal.

• Tampilkan List App : pm2 list
• Tampilkan informasi  : pm2 info app
• Restart PM2 : pm2 restart app
• Menghentikan PM2 : pm2 stop app
• Monitoring Proses yang berjalan : pm2 monit

Install Nginx Reverse Proxy 

1. Install dan Konfigurasi Nginx.

apt install nginx
nano /etc/nginx/sites-available/default

2. Isi file konfigurasi nginx dengan reverse proxy.

server {

    listen 80;

    server_name namadomain_anda;

    location / {

        proxy_pass http://127.0.0.1:3000;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection 'upgrade';

        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;

     }

}

Pada file konfigurasi diatas, ketika terdapat akses ke domainsaya.com, maka Nginx sebagai reverse Proxy akan melakukan forward ke aplikasi Node.js yang berjalan pada port 3000.

3. Test konfigurasi Nginx dan restart Nginx.

nginx -t
systemctl restart nginx

4. Pengujian Akses.

5. Jika sebelumya akses menggunakan http://127.0.0.1:3000, maka setelah dilakukan reverse Proxy, aplikasi Node.js kita dapat diakses melalui nama domain Anda.

Install node js dan pm2 telah selesai, Mudah bukan?

Jika mengalami kendala lain, langsung saja hubungi tim kami melalui Live Chat, Call Center atau Support Ticket, ya.

Cek juga artikel tutorial kami yang lain dengan klik di sini!