Lewati ke konten utama

Node.js

Pendahuluan

Node.js adalah platform server yang menjalankan aplikasi yang ditulis dalam JavaScript.

Pertama, Anda perlu menginstal Node.js:

  • Buka "Settings" -> "Applications"

Menu manajemen Applications di FASTPANEL

  • Klik tombol "Install" untuk versi Node.js yang diperlukan

Instal versi Node.js di FASTPANEL

Buat website:

  • Pilih templat untuk website Node.js

Konfigurasi situs baru di FASTPANEL

  • Tentukan domain dan parameter terkait. Pada tahap konfigurasi Anda dapat mengubah DB, pengguna FTP, dan Backend

Konfigurasi situs baru di FASTPANEL

  • Unggah file aplikasi ke direktori website
  • Untuk menginstal dependensi jalankan npm20.15.1 install di Terminal (perlu menginstal aplikasi ttyd untuk FASTPANEL®)

Instal dependensi Node.js

  • Mulai ulang Node.js dengan membuka dasbor situs lalu membuka bagian "Services".

Layanan mulai ulang Node.js

Framework Express

Menggunakan framework Express sebagai contoh, mari buat server web sederhana:

  • Hubungkan ke server melalui SSH sebagai pengguna pemilik situs (Anda dapat menggunakan aplikasi ttyd untuk FASTPANEL®)
  • Buat file app.js di direktori website dan isi dengan kode berikut:
const express = require('express');
const app = express();
const PORT = process.env.SERVICE_PORT;

app.get('/', (req, res) => {
res.send('Hello! This is my first server on Node.js + Express 🚀');
});

app.listen(PORT, () => {
console.log(`Server is running at http://localhost:${PORT}`);
});

  • Di direktori website, jalankan perintah untuk menginstal express
npm20.15.1 install express
  • Buka dasbor situs, lalu ke bagian Services
  • Mulai ulang layanan
  • Periksa website

Docusaurus

Menggunakan aplikasi web Docusaurus sebagai contoh, mari konfigurasi pengaturan:

  • Hubungkan ke server melalui SSH sebagai pengguna pemilik situs (Anda dapat menggunakan aplikasi ttyd untuk FASTPANEL®)
  • Di direktori website, jalankan instalasi Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • Saat diminta memilih templat, jawab classic (recommended)

  • Setelah instalasi, ganti satu baris dalam file docs/package.json

"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",

$SERVICE_PORT adalah variabel sistem yang diatur di FASTPANEL®

  • Di panel kontrol, buka "site settings" -> "Backend"

  • Pilih handler Standalone atau PM2.

  • Pilih versi Node.js yang diinginkan.

  • Tentukan folder kerja docs

  • Di kolom Launch command, masukkan: npm run start

  • Simpan. Tunggu hingga aplikasi dikompilasi (informasi akan muncul di log). Periksa website

Next.js

Menggunakan Next.js dengan Node.js 20.19 sebagai contoh, mari buat server web sederhana:

  • Hubungkan ke server melalui SSH sebagai pengguna pemilik website (Anda juga dapat menggunakan aplikasi ttyd di FASTPANEL®).
  • Di direktori website, jalankan perintah inisialisasi proyek:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Tambahkan blok scripts ke file package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Buat direktori pages dan di dalamnya, tambahkan file bernama index.js:
mkdir pages
cat <<EOF > pages/index.js
export async function getServerSideProps() {
return {
props: {
nodeVersion: process.version,
port: process.env.SERVICE_PORT || 3000,
},
};
}

export default function Home({ nodeVersion, port }) {
return (
<div style={{
fontFamily: 'sans-serif',
textAlign: 'center',
marginTop: '20vh'
}}>
<h1>✅ It works!</h1>
<p>Next.js app running on Node.js {nodeVersion}</p>
<p>Port: {port}</p>
</div>
);
}
EOF
  • Jalankan build proyek.
yarn20.19.4 build
  • Di panel kontrol, buka "site settings" -> "Backend"
  • Pilih handler Standalone atau PM2.
  • Pilih versi Node.js yang diinginkan.
  • Di kolom Launch command, masukkan: yarn run start.
  • Simpan. Tunggu hingga aplikasi dikompilasi (informasi akan muncul di log). Periksa website

Informasi tambahan

Dalam mode Standalone, proses Node.js dijalankan untuk mengeksekusi skrip Anda.

Dalam mode PM2, manajer proses PM2 digunakan untuk mengelola proses Node.js, log, dan beban sistem.
Mode ini juga memungkinkan Anda menentukan jumlah worker — yaitu jumlah proses Node.js yang menangani permintaan masuk ke server.
Selain itu, mode ini menyediakan opsi Enable file watch — PM2 akan secara otomatis memulai ulang aplikasi Anda saat file diubah di direktori saat ini atau subdirektorinya. Harap dicatat bahwa mode ini menambah beban sistem dan tidak direkomendasikan untuk lingkungan produksi.

Demikian pula, Anda dapat mengonfigurasi aplikasi jika memerlukan YARN alih-alih NPM

Anda dapat menginstal dependensi proyek yang tercantum dalam package.json menggunakan YARN atau NPM langsung dari FASTPANEL®. Untuk melakukannya, buka kartu website dan buka bagian Services:

Services Node.js

Log

Aplikasi Node.js dapat menghasilkan log. Di FASTPANEL®, log tersebut berada di dasbor situs, di bagian Logs, pada tab "Backend log"

Perintah konsol

Setelah menginstal Node.js di FASTPANEL®, pengguna dapat bekerja dengan proyek mereka menggunakan perintah konsol seperti:

  • pm2
  • yarn20.15.1
  • npx20.15.1
  • npm20.15.1
  • node20.15.1

Contoh:

$ npm20.15.1 list
node-socket-port-server@1.0.0 /var/www/node_user/data/www/node.site
└── express@4.21.2
$ pm2 ls
┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ amazing_site│ default │ 1.0.0 │ cluster │ 9355 │ 2m │ 0 │ online │ 0% │ 62.4mb │ user │ disabled │
│ 1 │ amazing_site│ default │ 1.0.0 │ cluster │ 9362 │ 2m │ 0 │ online │ 0% │ 62.5mb │ user │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

Setiap nama perintah menyertakan nomor versi Node.js yang telah diinstal. Dalam contoh ini, versi yang tersedia adalah Node.js 20.15.1.