One Stop Informasi Tekno dan Bisnis

Tips Mempublish Blog Pribadi Dengan Node.js


Bagi kalian yang bisa programming Node.js dan punya sedikit hobi ngeblog, maka artikel ini sangat cocok untuk kalian baca. Disini saya akan ceritakan pengalaman pribadi dalam membuat blog dengan bahasa pemrograman Node.js

Persiapan

Beberapa hal yang perlu diperhatikan sebelum membuat website/blog dengan node.js antara lain:

1. Biaya VPS.

Sejauh pengalaman saya, penyedia hosting di Indonesia hanya support untuk bahasa PHP. Maka saya sering menyewa VPS untuk dapat menghost aplikasi Node.js saya. Biaya per bulannya kurang lebih $5 atau sekitar 70.000.

Namun, jika ada provider hosting yang menawarkan harga miring tetapi support untuk aplikasi Node.js, maka boleh saja kalian coba.

2. Framework

Sebaiknya Anda tentukan diawal mau pakai framework apa. Saya pribadi lebih menyarankan AdonisJS. Karena framework tersebut memang didesain untuk website fullstack. Jadi istilahnya kita tinggal pakai sesuai aturan AdonisJS.

By the way, saya sarankan juga untuk menggunakan adonisjs versi 4. Karena yang versi 5 sudah menggunakan TypeScript. Kecuali Anda sudah biasa mainan TypeScript.

3. Keamanan

Tidak seperti blogspot yang hostingnya dijamin oleh Google, dengan membuat website sendiri maka kestabilan server menjadi tanggung jawab pribadi. Dan faktor keamanan ini menurut saya termasuk poin penting.

Jangan sampai ada orang usil yang menyerang DDOS ke ip server Anda. Atau yang lebih parahnya, ada hacker yang berhasil mengambil data penting di database dan Anda belum sempat membackupnya.

Maka disini saya memakai Cloudflare untuk menyembunyikan IP Address dari server saya. Dan untuk faktor keamanan lain, AdonisJS sudah cukup aman menurut saya.

Oh ya, dengan menggunakan cloudflare kita juga akan mendapatkan SSL (https://) secara gratis dan otomatis aktif.

Deploy Production

Sekali lagi, pastikan dulu kita mau mau menggunakan framework apa. Bagi Anda yang sudah terbiasa menggunakan Express.js, maka tidak masalah. Disini saya tidak ada tutorial membuat websitenya. Saya hanya memberikan tips, karena saya anggap kalian sudah bisa ngoding.

1. Gunakan git

Penggunaan git sebagai tool version control sangatlah disarankan sekalipun website yang kalian kembangkan hanya sederhana. Kita bisa menggunakan github atau gitlab. Keduanya mudah digunakan dan gratis.

Ada kalanya kita harus merubah codingan di server karena suatu hal yang urgent. Jika tidak menggunakan git, maka Anda akan kehilangan poin mana yang Anda ubah. Dan itu sangatlah mengesalkan.

2. Gunakan nginx

Seperti yang kita tahu, aplikasi Node.js kebanyakan menggunaka port bukan standar untuk http (port http adalah 80). Contohnya Expressjs secara default menggunakan port 3000 dan AdonisJs menggunakan port 3333.

Tidak mungkin sekali kita mengarahkan orang untuk menggunjungi domain kita harus dengan portnya (misal http://blogsaya.com:3333). Maka dari itu kita perlu yang namanya reverse proxy.

Nginx (dibaca Engine X) adalah aplikasi web server sekaligus proxy server. Proxy server disini bertugas untuk membelokkan port 3333 ke port 80 (http).

Buat file /etc/nginx/sites-enabled/proxynodejs, lalu isi dengan script berikut:

server {
  listen 80;
  server_name domain.com;

  location / {
    proxy_pass http://127.0.0.1:3333;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_cache_bypass $http_upgrade;
    proxy_set_header X-Frame-Options 'sameorigin';
    proxy_set_header Strict-Transport-Security 'max-age=300; includeSubDomains; preload; always;';
  }
}

3. Gunakan pm2

PM2 adalah aplikasi manajement project Node.js. Dengan menggunakan pm2, maka aplikasi Anda tetap berjalan bahkan ketika server Anda reboot. Pm2 akan otomatis menyalakan aplikasi node.js Anda.

Di website resminya sudah sangat jelas cara penggunaan pm2. Sangat sederhana dan mudah.

Penutup

Selama saya menggunakan node.js sebagai website blog, saya belum mendapati kendala apapun dengan setup diatas. Namun, jika memang Anda memiliki cara yang lebih mantap bisa komentar dibawah.

Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar