Node.js
บทนำ
Node.js เป็นแพลตฟอร์มเซิร์ฟเวอร์ที่ใช้รันแอปพลิเคชันที่เขียนด้วย JavaScript
ก่อนอื่น คุณต้องติดตั้ง Node.js:
- ไปที่ "Settings" -> "Applications"

- คลิกปุ่ม "Install" สำหรับ Node.js เวอร์ชันที่ต้องกา ร

สร้างเว็บไซต์:
- เลือกเทมเพลตสำหรับเว็บไซต์ Node.js

- ระบุโดเมนและพารามิเตอร์ที่เกี่ยวข้อง ในขั้นตอนการกำหนดค่า คุณสามารถเปลี่ยน DB, ผู้ใช้ FTP และ Backend ได้

- อัปโหลดไฟล์แอปพลิเคชันไปยังไดเรกทอรีของเว็บไซต์
- หากต้องการติดตั้ง dependencies ให้รัน
npm20.15.1 installใน Terminal (ต้องติดตั้งแอปพลิเคชัน ttyd สำหรับ FASTPANEL®)

- รีสตาร์ท Node.js โดยไปที่แดชบอร์ดของเว ็บไซต์ จากนั้นเปิดส่วน "Services"

เฟรมเวิร์ก Express
โดยใช้เฟรมเวิร์ก Express เป็นตัวอย่าง มาสร้างเว็บเซิร์ฟเวอร์อย่างง่ายกัน:
- เชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ในฐานะผู้ใช้ที่เป็นเจ้าของเว็บไซต์ (คุณสามารถใช้แอปพลิเคชัน ttyd สำหรับ FASTPANEL® ได้)
- สร้างไฟล์
app.jsในไดเรกทอรีของเว็บไซต์ และใส่โค้ดต่อไปนี้ลงไป:
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}`);
});
- ในไดเรกทอรีของเว็บไซต์ ให้รันคำสั่งเพื่อติดตั้ง express
npm20.15.1 install express
- ไปที่แดชบอร์ดของเว็บไซต์ จากนั้นไปที่ส่วน Services
- รีสตาร์ทบริการ
- ตรวจสอบเว็บไซต์
Docusaurus
โดยใช้เว็บแอปพลิเคชัน Docusaurus เป็นตัวอย่าง มาตั้งค่าการกำหนดค่ากัน:
- เชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ในฐานะผู้ใช้ที่เป็นเจ้าของเว็บไซต์ (คุณสามารถใช้แอปพลิเคชัน ttyd สำหรับ FASTPANEL® ได้)
- ในไดเรกทอรีของเว็บไซต์ ให้รันการติดตั้ง Docusaurus
npx20.15.1 create-docusaurus -j ./docs
-
เมื่อระบบถามให้เลือกเทมเพลต ให้ตอบ classic (recommended)
-
หลังการติดตั้ง ให้แทนที่หนึ่งบรรทัดในไฟล์
docs/package.json
"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",
$SERVICE_PORT เป็นตัวแปรระบบที่ตั้งค่าไว้ใน FASTPANEL®
-
ในแผงควบคุม ไปที่ "site settings" -> "Backend"
-
เลือกตัวจัดการ Standalone หรือ PM2
-
เลือกเวอร์ชัน Node.js ที่ต้องการ
-
ระบุโฟลเดอร์การทำงาน
docs -
ในช่อง Launch command ให้ป้อน:
npm run start -
บันทึก รอให้แอปพลิเคชันคอมไพล์เสร็จ (ข้อมูลจะปรากฏใน logs) ตรวจสอบเว็บไซต์
Next.js
โดยใช้ Next.js กับ Node.js 20.19 เป็นตัวอย่าง มาสร้างเว็บเซิร์ฟเวอร์อย่างง่ายกัน:
- เชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH ในฐานะผู้ใช้ที่เป็นเจ้าของเว็บไซต์ (คุณสามารถใช้แอปพลิเคชัน ttyd ใน FASTPANEL® ได้เช่นกัน)
- ในไดเรกทอรีของเว็บไซต์ ให้รันคำสั่งเริ่มต้นโปรเจกต์:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
- เพิ่มบล็อก scripts ลงในไฟล์
package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
- สร้างไดเรกทอรี
pagesและภายในนั้น ให้เพิ่มไฟล์ชื่อ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
- รันการ build โปรเจกต์
yarn20.19.4 build
- ในแผงควบคุม ไปที่ "site settings" -> "Backend"
- เลือกตัวจัดการ Standalone หรือ PM2
- เลือกเวอร์ชัน Node.js ที่ต้องการ
- ในช่อง Launch command ให้ป้อน:
yarn run start - บันทึก รอให้แอปพลิเคชันคอมไพล์เสร็จ (ข้อมูลจะปรากฏใน logs) ตรวจสอบเว็บไซต์
ข้อมูลเพิ่มเติม
ในโหมด Standalone จะมีการเปิดใช้โปรเซส Node.js เพื่อรันสคริปต์ของคุณ
ในโหมด PM2 จะใช้ตัวจัดการโปรเซส PM2 เพื่อจัดการโปรเซส Node.js, logs และโหลดของระบบ
โหมดนี้ยังช่วยให้คุณสามารถระบุจำนวน workers ได้ — นั่นคือ จำนวนโปรเซส Node.js ที่จัดการคำขอขาเข้าของเซิร์ฟเวอร์
นอกจากนี้ โหมดนี้ยังมีตัวเลือก Enable file watch — PM2 จะรีสตาร์ทแอปพลิเคชันของคุณโดยอัตโนมัติเมื่อมีการแก้ไขไฟล์ในไดเรกทอรีปัจจุบันหรือไดเรกทอรีย่อยของมัน โปรดทราบว่าโหมดนี้ทำให้เกิดโหลดระบบเพิ่มเติม และไม่แนะนำสำหรับสภาพแวดล้อม production
ในทำนองเดียวกัน คุณสามารถกำหนดค่าแอปพลิเคชันได้หากต้องใช้ YARN แทน NPM
คุณสามารถติดตั้ง dependencies ของโปรเจกต์ที่ระบุไว้ใน package.json โดยใช้ YARN หรือ NPM ได้โดยตรงจาก FASTPANEL® ในการดำเนินการนี้ ให้เปิดการ์ดเว็บไซต์และไปที่ส่วน Services:

บันทึก
แอปพลิเคชัน Node.js สามารถสร้าง logs ได้ ใน FASTPANEL® logs จะอยู่ในแดชบอร์ดของเว็บไซต์ ในส่วน Logs ภายใต้แท็บ "Backend log"
คำสั่งคอนโซล
หลังจากติดตั้ง Node.js ใน FASTPANEL® แล้ว ผู้ใช้สามารถทำงานกับโปรเจกต์ของตนโดยใช้คำสั่งคอนโซล เช่น:
- pm2
- yarn20.15.1
- npx20.15.1
- npm20.15.1
- node20.15.1
ตัวอย่าง:
$ 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 │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
ชื่อของแต่ละคำสั่งจะมีหมายเลขเวอร์ชันของ Node.js ที่ติดตั้งไว้รวมอยู่ด้วย ในตัวอย่างนี้ เวอร์ชันที่พร้อมใช้งานคือ Node.js 20.15.1