Cara menjalankan project NodeJS di AaPanel menggunakan Node version manager

memasang nodejs untuk aapanel.

NodeJS merupakan program aplikasi yang dapat menjalankan javascript di sisi server, orang menyebutknya runtime javascript. NodeJS di buat berdasarkan mesin javascript v8 pada chromium. Program berbasis nodejs umumnya mempunyai segi perbedaan dengan PHP.

Nodejs semua package depensi yang di perlukan, beserta konfigurasi server semuanya menyatu dalam satu paket program. Sementara itu, kita mungkin lebih familiar menggunakan bahasa pemrograman PHP. Bahasa pemrograman PHP mempunyai perbedaan, dimana seting konfigurasi environment berada di sisi web server.

Bagi yang menggunakan nodejs akan lebih terbiasa dengan ruang lingkup CLI ( Command line interface ). Command line di gunakan untuk menginstall paket-paket di dalam nodejs serta menjalankan suatu program nodejs itu sendiri.

Untuk dapat mejalankan program nodejs di aaPanel, ada dua metode yang bisa dilakukan. Metode pertama menggunakan node version manager, cara kedua menggunakan PM2 Manager. Apa perbedaan dari keduanya ini? Perbedaanya adalah letak pada cara menjalankan skrip.

Cara yang pertama, jika anda ingin menjalankan aplikasi yang sudah full di konfigurasi lewat package.json. Selain itu, aplikasi yang di tambahkan menggunaknan node version manager akan dapat menggunakan domain tanpa harus menggunakan proxy. Dengan node version manager, kamu dapat membuat lebih dari satu project dengan versi modul nodejs yang berbeda-beda.

Cara kedua adalah dengan menggunakan PM2, pada cara kedua ini kita tidak akan dapat menambahkan domain secara langsung. Kenapa? Karena pada PM2 Manager ini kita bisa menjalankan file nodejs secara langsung, dan 1 versi nodejs akan di gunakan untuk banyak project.

Jika aplikasi anda terdiri dari 2 Bahasa pemrograman, yakni bahasa PHP dan JavaScript Backend, penggunaan PM2 jauh lebh efektif. Karena PM2 digunakan pada backend saja, aplikasi dapat berkomunikasi antar aplikasi menggunakan jaringan lokal di server itu sendiri.


Menggunakan Node.js version Manager

Pada Dashboard aaPanel masuk ke menu App Store, cari software dengan kata kunci NodeJS Version Manager dan klik install. Setelah aplikasi berhasil di install, reload halaman aplikasi jika tidak terlihat atau install ulang jika terjadi kegagalan proses installasi.

Klik setting pada bagian Node.js version manager, pada menu ini silakan install versi nodejs yang di butuhkan. Tersedia beragam vesi dan sumber, sesuaikan dengan kebutuhan. Tunggu sampai proses installasi modul berhasi. Setelah berhasil menginstall.

Tambahkan program ke nodejs klik add node project, pastikan program anda sudah menggunakan file defensi yaitu package.json, karena node akan membaca file ini sebagai bagian dari aplikasi. Masuk ke website, switch pada mode node project. Tambahkan project baru, tampilanya kurang lebih seperti ini.

Dengan menggunakan Node.js Version manager kamu wajib menambahkan domain aplikasi dan membuat port baru yang di gunakan. Untuk port sih bebas, sebaiknya gunakan port yang tidak di gunakan oleh aplikasi lain. Berikut ini adalah gambar form untuk memasukan installasi aplikasi.

Kelebihan menggunakan Node.js version manager adalah kita fleksibel bisa memasang lebih dari satu versi nodejs, sehingga kita bisa memasang lebih lebih dari satu program nodejs dengan versi yang berbeda-beda.

memasang nodejs version manager.jpg


Menggunakan PM2

PM2 Manager lebih di khususkan untuk menjalankan program backend pada server, satu modul nodejs di gunakan untuk banyak aplikasi tapi dengan sumber daya yang dapat di kostumisasi. Cara ini cocok untuk kamu yang butuh menjalakan program file nodejs secara langsung.

Pada PM2 tidak ada fitur untuk menambahakan domain, sebagai alternatifnya kamu bisa berinteraksi dengan PHP dalam jaringan lokal server untuk saling bertukar data dengan project nodejs. Atau juga bisa menambahkan website baru di aaPanel dan menjadikanya sebagai proxy pada HOST tujuan bisa di arahkan pada alamat ip nodejs yang sedang berjalan.

Penggunaan PM2 perlu hati-hati, karena tidak semua versi nodejs bisa di gunakan. Semua bergantung pada kapasitas RAM dan core server, kalau kamu memilih versi yang lebih tinggi, namun sumber daya server tidak mencukupi itu akan menghasilkan error /bin/sh: line 7 : pm2 command not found.

Cara memperbaikinya adalah dengan melakukan switching ke modul nodejs yang lebih rendah, misalnya versi 6.17.1. Setelah mengatur version perhatikan pada bagian current versiot di situ harus ada angka berwarna merah yang menunjukan versi nodejs sekarang. Jika tidak ada artinya nodejs tidak terpasang pada server.

Setelah kamu paham penjelasan saya, berikut ini adalha tampilan add project pada nodejs. Kolom startUp file masukan alamat Path file nodejs pada server, tapi usahakan untuk di pisah dengan aplikasi utama. Kenapa? sebab dapat menjadikanya konflik, jika di pasang pada folder website yang berjalan, nodejs akan menganggap javascript statis sebagai program.

nodejs pm2.jpg


Mengatasi Error pada aplikasi Nodejs

Error sering kali terjadi pada program berbasis javascript ini, banyak sekali penyebab error yang terjadi dan belum saya ketahui. Di sini saya hanya akan membahas apa saja sebenarnya penyebab error.

Error pertama, kamu tidak meng-install modul yang di butuhkan. Jangan pernah berpatokan pada file project yang sudah selesai di buat, walaupun sudah tinggal unggah, modul yang di pakai pada project tersebut tidak akan terdeteksi pada PM2.

Hal ini di karenakan PM2 menggunakan mekanisme konfigurasi global, jadi modul nya tidak di simpan dalam folder project melainkan di simpan pada folder sistem. Jika kamu butuh menginstall modul nodejs, bisa di install pada bagian Module, setelah di install project nodejs yang berjalan pada PM2 akan bisa menggunakan semua modul tersebut.

Tapi, bila kamu nggak pengen repot bisa gunakan Node.js version manager, karena dia dapat membaca defensi dan modul apa saja yang di gunakan dalam project nodejs kamu.

Error kedua, yang saya ketahui karena perbedaan versi antara nodejs saat kamu membuat project dengan nodejs yang ada di server ini dapat menyebabkan error juga. Entah itu karena beberapa struktur kode tidak di dukung atau bagaimana saya tidak tahu.

Yang jelas sebelum membuat project coding, pastikan dulu di server VPS sudah terpasang nodejs dengan versi yang valid. Untuk melihat apakah terpasang atau tidak bisa di lihat pada Node Version pada menu PM2, di sana ada tulisan Current version. Kolom itu tidak boleh kosong, kalau kosong artinya PM2 tidak terpasang.


Menggunakan aaPanel dalam memanajemen project nodjes adalah salah satu langkah terbaik daripada menggunakan CLI. aaPanel dapat memasang lebih banyak aplikasi di dalam satu server, aplikasi akan bisa menggunakan lebih dari satu bahasa pemrograman.

Kamu bisa mencampur bahasa pemrograman PHP dengan Nodejs, maupun menggunakan ketiganya sekaligus. Untuk dapat menggunakanya, web server di gunakan sebagai gerbang utama lalu lintas. Dan kamu dapat saling mengirim data untuk di proses menggunakan koneksi antar program.

Bisa dengan menggunakan 1 database yang sama, bisa juga dengan interaksi antar program secara jaringan lokal. Pada intinya, penggunaan lebih dari 1 bahasa pemrograman adalah untuk mencapai aplikasi yang lebih kaya akan fitur. Contoh, pada PHP terdapat kesulitan untuk mengelolah media khususnya file seperti memodifikasi file besar dan sebagainya.

Pekerjaan tersebut dapat di lempar ke bahasa pemrograman python, bahasa ini mempunyai banyak sekali library pendukung untuk mengelolah file di tingkat sistem. Setelah pekerjaan selesai dilakukan project python dapat menyimpanya kembali ke database dan mengirim feedback bahwa pekejraan telah selesai di proses.

Di sini mungkin ada pertanyaan, kenapa tidak menggunakan 1 bahasa pemrograman saja? Saya jawab, karena itu akan membuat project kita jauh lebih mahal. Dan membutuhkan ketelitian tinggi dalam hal maintenance, salah sedikit program akan error dan berhenti bekerja.

Berdasarkan pengalaman saya, project berbasis python dan nodejs jauh lebih banyak berhenti atau chrash ketika sudah mencapai limit usage sumber daya. Sementara itu, aplikasi bebrahasa PHP tidak. Jadi jika semua process kita lempar ke satu bahasa pemrograman, tentu pekerjaan mereka akan sangat berat.

Tagged : #default , pada Selasa, 16 Januari 2024 16:20 WIB