Payload CMS คืออะไร และวิธีติดตั้งบน Cloud Server
Payload CMS คือ Headless CMS สำหรับทีมที่เขียน TypeScript โครงสร้างข้อมูลทั้งหมดประกาศเป็นโค้ด จึงตรวจสอบด้วยตัวคอมไพเลอร์ได้และเก็บเป็นเวอร์ชันใน Git เหมือนโค้ดส่วนอื่นของโครงการ
- หมวดหมู่
- CMS และเว็บไซต์
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- MIT (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Payload CMS คืออะไร
ต่างจาก Headless CMS ที่ให้สร้างโครงสร้างข้อมูลผ่านหน้าเว็บ Payload ให้ประกาศทุกอย่างเป็นไฟล์ TypeScript ผลคือโครงสร้างข้อมูลถูกตรวจตั้งแต่ตอนคอมไพล์ และการเปลี่ยนแปลงทุกครั้งผ่านการรีวิวเหมือนโค้ดปกติ
ระบบสร้างหน้าจอจัดการและ API ให้อัตโนมัติจากสิ่งที่ประกาศไว้ พร้อมระบบสิทธิ์ที่เขียนเป็นฟังก์ชันได้ จึงกำหนดเงื่อนไขซับซ้อนอย่างให้ผู้ใช้เห็นเฉพาะข้อมูลของหน่วยงานตัวเองได้ไม่ยาก
จุดที่ต้องพิจารณาคือทีมต้องมีนักพัฒนาที่ดูแลต่อได้ เพราะการเพิ่มชนิดเนื้อหาใหม่ต้องแก้โค้ดและ Deploy ใหม่ ต่างจาก CMS ที่ทีมคอนเทนต์เพิ่มฟิลด์เองได้จากหน้าเว็บ
ความสามารถเด่นของ Payload CMS
ประกาศโครงสร้างเป็น TypeScript
ตรวจความถูกต้องได้ตั้งแต่ตอนคอมไพล์และเก็บประวัติใน Git
ได้ API และหน้าจอจัดการอัตโนมัติ
สร้าง REST และ GraphQL พร้อมหน้าหลังบ้านให้จากโครงสร้างที่ประกาศไว้
สิทธิ์แบบเขียนเป็นโค้ด
กำหนดเงื่อนไขการเข้าถึงที่ซับซ้อนได้ เช่น เห็นเฉพาะข้อมูลของหน่วยงานตัวเอง
ทำงานเข้ากับ Next.js ได้ดี
ฝังในโปรเจกต์เดียวกันได้ ทำให้ Deploy ทั้งหน้าบ้านและหลังบ้านพร้อมกัน
จัดการไฟล์สื่อในตัว
อัปโหลดและปรับขนาดรูปอัตโนมัติ พร้อมต่อกับ Object Storage ได้
ใช้ Payload CMS ทำอะไรได้บ้าง
- เว็บที่ทีมพัฒนาใช้ TypeScript ทั้งหน้าบ้านและหลังบ้าน
- ระบบที่ต้องการเงื่อนไขสิทธิ์การเข้าถึงข้อมูลที่ซับซ้อน
- โครงการที่ต้องการให้โครงสร้างข้อมูลผ่านการรีวิวเหมือนโค้ด
- เว็บองค์กรที่ทำด้วย Next.js และต้องการหลังบ้านในโปรเจกต์เดียว
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นโครงการเดียว ทราฟฟิกไม่สูง | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำProduction ที่มีผู้ใช้ประจำและสื่อจำนวนมาก | 4 vCPU | 8 GB | NVMe 80 GB |
| ระบบใหญ่แยกฐานข้อมูลและใช้ Object Storage เก็บไฟล์ | 8 vCPU | 16 GB | NVMe 160 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Payload CMS บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Node.js รุ่น LTS ที่ Payload รองรับ
- MongoDB หรือ PostgreSQL ตามที่เลือกใช้
- PM2 หรือ systemd สำหรับรันเป็นบริการ
- Nginx สำหรับ Reverse Proxy และ HTTPS
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง Node.js และฐานข้อมูล
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt -y install nodejs postgresql nginx - 2
สร้างโปรเจกต์
ตัวช่วยสร้างจะถามชนิดฐานข้อมูลและเทมเพลตเริ่มต้นที่ต้องการ
cd /var/www npx create-payload-app@latest cms - 3
ตั้งค่าตัวแปรสภาพแวดล้อม
กำหนดที่อยู่ฐานข้อมูล คีย์ลับ และที่อยู่เว็บจริง โดยเก็บไว้ในไฟล์ .env ที่จำกัดสิทธิ์
DATABASE_URI=postgres://payload:[email protected]:5432/payload PAYLOAD_SECRET=PasteALongRandomStringHere PUBLIC_SERVER_URL=https://cms.example.com - 4
บิลด์และรันเป็นบริการ
cd /var/www/cms npm ci npm run build sudo npm install -g pm2 pm2 start npm --name payload -- run start pm2 startup systemd && pm2 save - 5
ตั้ง Nginx เป็น Reverse Proxy
server { listen 443 ssl; server_name cms.example.com; client_max_body_size 200M; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } }
เก็บค่า PAYLOAD_SECRET ไว้ให้ดีและอย่าเปลี่ยนหลังใช้งานจริง เพราะใช้เข้ารหัสข้อมูลบางส่วนรวมถึงเซสชันของผู้ใช้
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่าน Reverse Proxy |
| 3000 | TCP | พอร์ตภายในของแอป |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ให้แอปฟังเฉพาะภายในเครื่องและเปิดสู่ภายนอกผ่าน Nginx
- เก็บ Secret ทั้งหมดในไฟล์ .env ที่ไม่ขึ้น Git
- กำหนดสิทธิ์การเข้าถึงข้อมูลในโค้ดให้ครอบคลุมทุกชนิดเนื้อหา
- สำรองฐานข้อมูลและไฟล์สื่อตามรอบ
ทำไมควรรัน Payload CMS บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
เป็นแอป Node.js ที่ต้องรันเป็นบริการตลอดเวลา จึงต้องใช้ Cloud Server ที่ควบคุมกระบวนการเองได้
ต่อกับฐานข้อมูลในวง Private Network ในไทยได้ทั้งเร็วและปลอดภัย
เก็บไฟล์สื่อบน Object Storage เพื่อให้เปลี่ยนหรือขยายเครื่องได้โดยไม่ต้องย้ายไฟล์
คำถามที่พบบ่อยเกี่ยวกับ Payload CMS
Payload เหมาะกับทีมแบบไหน
เหมาะกับทีมที่มีนักพัฒนาและใช้ TypeScript อยู่แล้ว เพราะโครงสร้างข้อมูลทั้งหมดเป็นโค้ด ถ้าต้องการให้ทีมคอนเทนต์เพิ่มฟิลด์เองได้จากหน้าเว็บ Strapi หรือ Directus จะตรงกว่า
ใช้ฐานข้อมูลอะไรได้บ้าง
รองรับทั้ง MongoDB และฐานข้อมูลเชิงสัมพันธ์อย่าง PostgreSQL การเลือกควรอิงมาตรฐานที่องค์กรใช้อยู่และลักษณะข้อมูลของโครงการ
Deploy รวมกับ Next.js ได้ไหม
ได้ และเป็นรูปแบบที่นิยม เพราะรันทั้งหน้าบ้านและหลังบ้านในโปรเจกต์เดียว ลดจำนวนบริการที่ต้องดูแลลงและ Deploy พร้อมกันได้
ทางเลือกอื่นที่คล้ายกับ Payload CMS
แอปอื่นในหมวด CMS และเว็บไซต์
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Payload CMS ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด