Node.js

Node.js adalah platform pemrograman yang mendukung pengoperasian java script dari sisi server. Node.js memiliki model even driven dan non blocking I/O yang mampu menangani banyak proses secara bersamaan.

Tugas dari node.js ini adalah sebagai runtime atau sebagai bagian yang menjalankan kode java script dan mengeksekusi kode java script sebelum ditampilkan di browser Anda.

Dengan menggunakan java script yang dioperasikan dengan bantuan node.js ini membantu developer website dalam pengembangan website frontend maupun backend dalam satu Bahasa pemrograman saja. Tentu saja hal ini menjadi kemajuan yang cukup bagus di dunia pengembangan website, sebab sebelumnya aktifitas backend dan frontend dalam develop website dilakukan secara masing-masing menggunakan Bahasa pemrograman yang berbeda.

Dengan kemampuannya berkolaborasi dengan java script inilah yang membuat node.js semakin popular dan banyak diandalkan web developer dalam program pengembangan website.

Anda juga bisa lho menggunakan node.js ini untuk mendukung pengembangan website Anda.

 

Penggunaan Node.js

Penggunaan node.js akan sangat dianjurkan dalam program seperti di bawah ini:

  1. Aplikasi single page
  2. Aplikasi dengan straming data
  3. Aplikasi yang menggunakan API (application program interface) dan JSON (Java script object notation)

 Penerapan program di atas bisa Anda pahami dengan melihat beberapa contoh yang menggunakan node.js dalam pembuatan software atau aplikasinya misalnya pada software streaming video Netflix dan Linkedin yang menggunakan backend API.

Bagaimana dengan Anda apakah ingin menggunakan node.js ini? Anda bisa mengoperasikannya dengan dukungan layanan hosting atau VPS yang mendukung.

Baca Juga Artikel Tentang : Docker : Pengenalan dan Cara Install Docker pada VPS Ubuntu

 

Cara Deploy Node.Js Ke Vps Ubuntu Menggunakan Docker

Sebenarnya ada banyak cara untuk deployment Node.js ke VPS atau Server. Pada cara kali ini kita akan menggunakan Docker sebagai container manager.

Kenapa harus memakai docker? Kalau tidak memakai docker apakah bisa?

Tentu bisa, jika tidak ingin menggunakan docker. Namun memakai docker ini banyak kelebihannya, misal di VPS kita rencananya tidak hanya terdapat aplikasi Node.js, mungkin ada aplikasi lain, seperti Laravel, lalu ada juga project berbasis CMS Wordpress, dll.

Menggunakan docker akan menjadi kelebihan karena setiap aplikasi akan di masukan kedalam kontainer dan sudah terisolasi sehingga tidak akan mempengaruhi aplikasi lain.

Mari kita langsung masuk cara deploye node.js ke VPS Ubuntu menggunakan docker ini.

1. Login SSH ke VPS Anda

Untuk login ke VPS di jagoweb anda dapat melalui terminal console, atau Anda bisa menggunakan Powershell, CMD, atau Putty.  

Jika Anda menggunakan Windows, bisa buka Powershell. Lalu ketikan perintah:

ssh user@ip

Login SSH ke VPS

Tekan Enter lalu masukan password user.

2. Pastikan Docker sudah Terinstall

Pastikan docker sudah terinstall. Jika belum terinstall silahkan bisa install terlebih dahulu pada tutorial Cara Menginstall Docker pada VPS Ubuntu

Ketikan perintah berikut untuk cek status docker:

sudo systemctl status docker

cek status docker

Jika tampil Active (Running) Berarti docker service sudah berjalan

3. Siapkan Project Nodejs

Buka project Nodejs Anda, coba jalankan pada local terlebih dahulu. Pada nodejs app di tutorial ini  sederhana, hanya menampilkan test ‘Nodejs Docker Demo’ saat diakses. Untuk scriptnya ada pada repository berikut:  

Contoh script app.js

Project Nodejs

Saat diakses di browser:

akses Nodejs Docker Demo

Source repo: https://github.com/bagusgandhi/nodejs-docker-demo.git

4. Buat Dockerfile

Setelah projek sudah berjalan di lokal, selanjutnya silahkan Anda buat file baru lalu beri nama Dockerfile

Dockerfile

Penjelasan Dockerfile:

Dockerfile adalah skrip untuk mengeksekusi perintah atau instruksi secara otomatisasi dan berurutan.

Penjelasan Dockerfile

Penjelasan script:

FROM node:16.13.1

Ini digunakan untuk mengambil image node (versi bisa sesuaikan dengan versi nodejs projek Anda)

WORKDIR /usr/src/app

Ini untuk membuat Nodejs App Direktori pada Container

COPY package*.json ./

Ini untuk copy semua file package.json ke dalam Direktori Nodejs App di container

RUN npm install

Ini digunakan untuk jalankan perintah npm install untuk menginstall dependensi yang diperlukan

COPY . .

Ini digunakan untuk Bundle app source

EXPOSE 8080

Ini digunakan untuk ekspose port container ke port 8080 agar bisa diakses dari internet melalui port 8080

CMD [ "node", "app.js" ]

Ini digunakan untuk menjalankan nodejs

5. Push Project Anda ke Public Repository

Setelah membuat Dockerfile, push projek Anda ke public repository seperti Github, Gitlab, Bitbucket, dll. Kali ini akan menggunakan Github. Silahkan buat repository.

Push Project Anda ke Public Repository

Source repo: https://github.com/bagusgandhi/nodejs-docker-demo.git

Dengan menyimpan projek di public repository tentu akan memudahkan deployment atau kolaborasi projek.

6. Clone Project ke VPS

Selanjutnya clone project ke VPS Anda, silahkan bisa sesuaikan saja untuk directory penempatanya. 

Ketik perintah seperti berikut:

git clone url-repo-anda

Jika di VPS Anda belum terinstall git. Bisa jalankan perintah berikut untuk menginstalnya:

sudo apt-get install git

7. Build Projek Menjadi Image

Setelah clone projek, masuk ke directory tersebut.

Jalankan perintah berikut:

docker build -t contoh-nama-tagname .

Penjelasan command:

docker build : untuk menjalankan build image

-t : untuk menambahkan tagnamae ke image docker yang hendak di build

Contoh-nama-tagname :  ini bisa isikan tagname yang anda inginkan untuk nama imagenya 

. : (titik) ini digunakan untuk build image pada destinasi Dockerfile saat ini Jika ada pada destinasi lain di subfolder misalnya, silahkan bisa sesuaikan. 

Jika muncul seperti ini, maka build image berhasil kita lakukan

 build image berhasil

8. Jalankan Kontainer dari Image yang Telah di Build

Jika image sudah kita build, selanjutnya tinggal jalankan container menggunakan image tersebut

Cek terlabih dahulu imagenya dengan perintah berikut:

docker images

docker images

Okay image yang kita build sudah muncul ya, selanjutnya jalankan perintah berikut untuk menjalankan container

docker run --name nodejs-docekr-demo -p 8080:8080 -d bagusgandhi/nodejs-docker-demo

docker run

Penjelasan script: 

docker run : untuk menjalankan perintah membuat container

–name : untuk memberi nama container

-p : untuk expose port docker container, ada bisa diakses di internet

-d : menjalankan script docker run container di background

9. Akses Projek Anda Sesuai Port yang Sudah Anda Set

Coba cek container dengan perintah berikut:

docker ps

docker ps

Jika status container up maka container sudah berjalan tanpa ada error.

Selanjutnya coba akses http://ip:port

Baca Artikel Tentang : Cara Deploy Wordpress di Docker Compose

 

Kesimpulan

Menggunakan node.js untuk pengembangan website memberikan kemudahan. Mendukung kerja java script membuat kerja develop website menjadi lebih mudah dan cepat. Jika dulu harus menggunakan beberapa Bahasa pemrograman dan keterbatasannya untuk mengembangkan website. Sekarang mengembangkan website bisa dengan mudah dengan node.js dan java script.

Jika ingin menginstall node.js di VPS Anda bisa dengan mudah mengikuti tutorial yang sudah kami bahas di atas.

Jika Anda juga sedang mencari layanan VPS terbaik untuk kebutuhan Anda bisa dengan mudah menggunakan VPS murah dari Jagoweb.

VPS dengan harga mulai dari 90ribuan/bulan, ada garansi dan hadir dengan berbagai paket untuk Anda.

Sekian informasi mengenai node.js dan cara deploy node.js app ke Vps ubuntu menggunakan docker untuk Anda semoga bermanfaat!