คู่มือการใช้งาน เมนู Setup Node.js App - (DirectAdmin User Level)
สร้างและดูแล Node.js Application พร้อมตั้ง Version, Root, URL, Startup File, Environment Variables และติดตั้ง Dependencies
Setup Node.js App ใช้ทำอะไร และเข้าเมนูตรงไหน
เมนู Setup Node.js App ใช้สร้างสภาพแวดล้อมสำหรับ Node.js บน Premium Hosting ตั้งแต่เลือกเวอร์ชันและโหมด กำหนด Application Root, URL และ Startup File ไปจนถึงเพิ่ม Environment Variables ติดตั้ง Dependencies และ Restart แอป

สำหรับลูกค้า Premium Hosting ให้เข้าจากหน้า Dashboard แล้วดูที่กลุ่ม Extra Features จากนั้นกดเมนู Setup Node.js App
เมนูนี้เหมาะกับงานเหล่านี้:
- สร้าง Node.js application ในโฮสติ้ง - ให้ DirectAdmin เตรียม environment สำหรับรันแอปในบัญชี user
- เลือก Node.js version - ให้ตรงกับ requirement ของโปรเจกต์ เช่น package หรือ framework ที่ใช้อยู่
- กำหนด URL สำหรับเข้าแอป - ผูก domain และ path เช่น
phalconhost2.com/node-guide-demo - ควบคุม process - start, stop และ restart แอปผ่านปุ่มในหน้า DirectAdmin
ถ้าแอปของคุณเป็นเว็บ production หรือ API ที่มีลูกค้าใช้งานจริง ให้ตรวจ dependency, startup file, path และ environment variables ให้ครบก่อนกดสร้างหรือ restart เพราะค่าเหล่านี้มีผลโดยตรงต่อการที่แอปจะ start ได้หรือไม่ได้
ทำความรู้จักรายการ Application และสถานะการทำงาน
เมื่อเข้าหน้า Setup Node.js App แล้ว พื้นที่ plugin จะแสดงหัวข้อ Node.js และแท็บหลัก Web applications ซึ่งเป็นหน้ารวมของ Node.js application ทั้งหมดในบัญชี DirectAdmin นี้ ถ้ายังไม่มีแอป ระบบจะแสดงข้อความ No Applications found

หน้าจอนี้ถูกโหลดอยู่ในหน้า Plugins ของ DirectAdmin จึงอาจไม่ได้แสดง breadcrumb แบบเมนู DirectAdmin ปกติภายใน iframe แต่ตำแหน่งของ ขั้นตอน จะดูจากแท็บใน plugin ได้แก่ Web applications, Create application และชื่อ application เช่น phalconhost2.com/node-guide-demo
| คอลัมน์ | ความหมาย | ควรตรวจอย่างไร |
|---|---|---|
| App URI | URL หรือ path ที่ผู้ใช้จะเปิดแอป เช่น phalconhost2.com/node-guide-demo | ต้องตรงกับ domain/path ที่ต้องการให้แอปรันจริง การกด App URI อาจเปิด URL ปลายทาง ไม่ใช่หน้าแก้ไข |
| App Root Directory | path จริงในบัญชี hosting เช่น /home/phalcon1/phkb-node-guide-demo | ต้องเป็นโฟลเดอร์ของแอป Node.js นั้น ไม่ควรชี้มั่วไปยังไฟล์เว็บอื่น |
| Mode | ค่า application mode เช่น production หรือ development | เว็บจริงควรใช้ production เว้นแต่กำลังทดสอบและเข้าใจผลของ NODE_ENV |
| Actions | ชุดไอคอน ควบคุมแอป เช่น stop, start, restart, edit และ delete | กดเฉพาะแถวที่ถูกต้อง เพราะเป็นคำสั่งต่อแอปนั้นทันที |
สร้างแอป Node.js
เมื่อกด Create application ระบบจะเปิดฟอร์มสร้างแอปใหม่ โดยแท็บด้านบนเปลี่ยนเป็น Create application และมีปุ่ม Cancel กับ Create อยู่ด้านบนของฟอร์ม ถ้ายังกรอกข้อมูลสำคัญไม่ครบ ปุ่ม Create จะถูก disable และช่อง Application root จะแสดง tooltip Mandatory field

- Node.js version - เมนูสำหรับเลือก runtime ที่แอปจะใช้ ในหน้าจอตัวอย่าง มีตัวเลือกตั้งแต่ Node.js 6, 8, 9, 10, 11, 12, 14, 16, 18, 19, 20, 22 และ 24 โดย 20.20.2 ถูกระบุว่า recommended
- Application mode - เมนูสำหรับเลือก Development หรือ Production และระบบบอกชัดว่าเพิ่มค่าให้ตัวแปร
NODE_ENV - Application root - path หรือชื่อโฟลเดอร์ของแอปบนเซิร์ฟเวอร์เป็นตำแหน่งที่ต้องอัปโหลดไฟล์ Node.js application เข้าไป เช่นโฟลเดอร์ที่มี
package.jsonและ startup file - Application startup file - ชื่อไฟล์ที่ DirectAdmin ใช้ start แอป เช่น
app.js,server.jsหรือไฟล์ entry point ที่โปรเจกต์คุณใช้จริง
Environment variables และ Detected configuration files ใช้อย่างไร
ส่วน Environment variables ใช้เพิ่ม key/value ที่แอป Node.js ต้องอ่านจาก environment แทนการเขียนค่าคงที่ลงใน source code เช่น mode, endpoint, feature flag หรือค่าคอนฟิกบางอย่างที่ต้องแยกตาม environment

- Add variable - ปุ่มพร้อมไอคอนเครื่องหมายบวก ใช้เพิ่มแถวใหม่ในตาราง Environment variables
- Name - ชื่อตัวแปร เช่น
APP_ENV,API_BASE_URLหรือชื่อที่แอปอ่านผ่านprocess.env - Value - ค่าของตัวแปรนั้น ต้องระวังเป็นพิเศษถ้าเป็น secret, token หรือ password
- Cancel - ยกเลิกการเพิ่มหรือแก้ไขแถว environment variable นั้น
ถ้ายังไม่มีตัวแปร ระบบจะแสดง No Result Found ซึ่งไม่ใช่ error เพียงแปลว่ายังไม่ได้เพิ่ม environment variable ใด ๆ
หลังสร้างแอปแล้ว หน้าจัดการจะมีส่วน Detected configuration files และปุ่ม Run NPM Install ถ้าระบบยังไม่พบไฟล์ config ที่เกี่ยวข้อง เช่น package.json ปุ่มนี้อาจถูก disable ตามภาพตัวอย่างเพราะยังไม่มีไฟล์ให้ติดตั้ง dependency
จัดการแอปที่สร้างแล้ว
หลังสร้างแอปสำเร็จ ระบบจะเปิดหน้ารายละเอียดของแอปนั้น โดยแท็บด้านบนแสดง URL เช่น phalconhost2.com/node-guide-demo และมีปุ่มจัดการหลักอยู่ด้านบน ได้แก่ Destroy, Cancel และ Save

คำสั่งนี้มีไว้สำหรับกรณีที่ต้องเข้า shell เพื่อจัดการแอปด้วย command line เช่นติดตั้ง dependency หรือทดสอบคำสั่งใน environment เดียวกับแอป ถ้าไม่คุ้นกับ command line ให้ส่งภาพหน้าจอให้ทีม Support ช่วยแนะนำก่อนใช้บนเว็บจริง
- Open - เปิด URL ของแอปในเบราว์เซอร์เพื่อดูผลลัพธ์ปลายทาง จากการทดสอบ App URI ในตารางก็สามารถเปิด URL ปลายทางได้เช่นกัน
- Stop app - หยุด process ของแอป จากการทดสอบไม่พบหน้าต่างยืนยันแยก หลังหยุดแล้วสถานะจะเปลี่ยนเป็น stopped และคำสั่งในตารางเปลี่ยนเป็น start
- Start app - เริ่ม process ของแอปที่หยุดอยู่ จากการทดสอบไม่พบหน้าต่างยืนยันแยก หลัง start สำเร็จสถานะจะกลับเป็น started
- Run NPM Install - ใช้ติดตั้ง dependency จากไฟล์ config ที่ระบบตรวจพบ ถ้าปุ่มใช้งานไม่ได้ให้ตรวจว่ามี
package.jsonใน Application root แล้วหรือยัง
ใช้ Node.js App กับเว็บไซต์จริงอย่างปลอดภัย
การลบแอปเริ่มจากกดไอคอน delete ในตารางหรือกด Destroy ในหน้ารายละเอียด ระบบจะแสดงหน้าต่างยืนยัน ก่อนลบจริง โดยในตัวอย่างข้อความคือ Are you sure you want to remove phkb-node-guide-demo application?

ในการยืนยันนี้ไม่ได้มีช่องเลือกเพิ่มเติมสำหรับเลือกลบไฟล์ใน application root แยกจากตัว app environment ดังนั้นก่อนกด Agree ให้ถือว่าเป็นจุดตัดสินใจสุดท้ายของการลบ application ใน DirectAdmin แล้ว ควรมี backup ของ code และ config สำคัญไว้ก่อน
- ตรวจ Node.js version กับโปรเจกต์ - ดูจาก
package.json, lock file หรือเอกสารของ framework ก่อนเลือก runtime - ตั้ง Application root ให้แยกจากเว็บหลัก - ลดโอกาสชนกับไฟล์ WordPress/PHP หรือไฟล์ production เดิม
- อย่าให้ Application URL ทับ path สำคัญ - โดยเฉพาะ โดเมนหลัก หรือ path ที่เว็บหลักใช้อยู่
- มีแผน rollback ก่อน Restart หรือ Destroy - โดยเฉพาะเว็บ/API ที่มีผู้ใช้งานจริง
หากตั้งค่าแล้วแอป Node.js ยังไม่ทำงาน หรือไม่แน่ใจว่าควรกำหนดค่าอย่างไร สามารถติดต่อทีมงาน PhalconHost ได้เลยครับ ทีมงานยินดีเข้าไปช่วยตรวจสอบและตั้งค่าให้แอปทำงานได้อย่างถูกต้อง
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost