Setting Reverse Proxy Openlitespeed Cyberpanel untuk Menjalankan Aplikasi Nodejs
Cara Setting Reverse Proxy Openlitespeed Cyberpanel untuk menjalankan aplikasi nodejs (svelte, react, vue, dll)
JagoTekno.com - Pada hari ini saya menemukan cara untuk setting reverse proxy pada web server Cyberpanel (OpenLiteSpeed).
Awal mula
Awalnya saya mendapatkan pekerjaan untuk membuat sebuah projekan menggunakan NodeJS.
Saya pun memilih Svelte sebagai framework.
Proses development berjalan lancar sampai bisa berjalan live di Netlify.
Kemudian kendala pun terjadi ketika aplikasi ini dijalankan pada VPS yang sudah diinstalkan NodeJS.
Kebetulan VPS nya diinstall dengan web server OpenLiteSpeed dan menggunakan Cyberpanel sebagai panel.
Spek VPS
- Ram 1GB
- CPU 1 Core
- SSD 40Gb
- Ubuntu 22.04
- Cyberpanel
Setup NodeJS di VPS
Untuk setup Nodejs terlebih dahulu masuk ke terminal mengguanakn SSH lalu setup NodeJS di sana. Saya menggunakan NodeJS versi terbaru.
Upload package ke VPS
- Build aplikasi svelte dengan perintah
npm run build
. - Pada direktory root, akan ada folder baru bernama
/build
- Compress direktory ini menjadi sebuah file zip, gunakan perintah
zip -r build.zip build
sehingga akan ada file baru bernama build.zip .ada direktory root projekan svelte anda. - Copy/upload file build.zip, package.json, .env (kalau ada) ke direktory
/home/direktorysitus/public_html/
- Extract file build.zip pada folder
/public_html/
direktory situs di vps. - Sekarang masuk ke terminal menggunakan SSH, untuk mulai install npm package. Masuk ke
/home/direktorysitus/public_html/
lalu jalankannpm install
, tunggu beberapa saat sampai proses instalasi selesai. - Setelah selesai, silahkan jalankan aplikasi node di server menggunakan perintah
node build/index.js
. Di masa depan coba edit file ini, arahkan ke baris paling akhir, lalu ganti0.0.0.0
menjadidomain.situs.anda
sebelum menjalankan nodejs. - Kalau berhasil silahkan coba buka situs lalu buka svelte app menggunakan port yang sudah disetting. Secara default akan berjalan di port :3000.
- Jangan lupa install pm2 untuk bisa menjalankan aplkasi nodejs secara otomatis secara terus menerus.
- Sehingga nodeapp bisa dikontrol menggunakan perintah
pm2 status
,pm2 start id
, dll.
Kendala yang ditemui
Tapi masa harus selalu buka port :3000 jika ingin menggunakan aplikasinya. Kan lebih bagus kalau lansung pada situsnya.
Maka dari itu disini kita butuh Reverse Proxy.
Jadi kita akan redirect semua aktivitas situs yang berjalan pada port :3000.
Cara update reverse proxy di Cyberpanel
- Masuk ke admin panel cyberpanel.
- Masuk ke direktory situs, lalu lakukan manager.
- Pilih Vhost, lalu tambahkan pengaturan ini di bagian bawah.
scripthandler {
add lsapi:mynodeapp
}
extprocessor mynodeapp {
type proxy
address domain.situs.anda:3000
maxConns 100
pcKeepAliveTimeout 60
initTimeout 60
retryTimeout 0
respBuffer 0
}
rewrite {
enable 1
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule /(.*) http://mynodeapp/$1 [P]
}
context / {
type proxy
handler mynodeapp
addDefaultCharset off
}
Ganti saja mynodeapp menjadi nama apapun yang ingin digunakan.
Pada bagian rewrite, hapus apacheproxy, sesuaikan dengan kode yang saya sudah tulis di atas.
Restart aplikasi node, dan refresh browser, sekarang aplikasi sudah bisa dibuka tanpa port :3000.
Akhir kata
Demikian tutorial singkat cara setup reverse proxy pada Cyberpanel untuk menjalankan aplikasi NodeJS.
Semoga bermanfaat.
Rafi
- 15 year+ of Linux user.
- 5 years+ blogger and web developer.
Jika artikel yang dibuatnya ternyata bermanfaat, support dengan cara