Jekyll คืออะไร และวิธี Deploy เว็บ Static บน Cloud Server
Jekyll คือเครื่องมือสร้างเว็บ Static ที่อยู่ในวงการมานานที่สุดตัวหนึ่ง มีธีมและปลั๊กอินจำนวนมาก เหมาะกับบล็อกและเว็บเอกสารที่ต้องการความเรียบง่ายและดูแลน้อย
- หมวดหมู่
- CMS และเว็บไซต์
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 1 vCPU · RAM 1 GB
- ไลเซนส์
- MIT (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Jekyll คืออะไร
Jekyll แปลงไฟล์ Markdown และเทมเพลตให้กลายเป็นเว็บ HTML ล้วนตั้งแต่ตอนบิลด์ เมื่อนำขึ้นเซิร์ฟเวอร์แล้วจึงเป็นเพียงไฟล์ที่ Nginx ส่งออกไป ไม่มีโค้ดฝั่งเซิร์ฟเวอร์ให้ดูแลหรือถูกเจาะ
จุดแข็งที่ยังทำให้หลายทีมเลือกใช้คือระบบนิเวศธีมที่ใหญ่และเอกสารที่มีมานาน ทำให้เริ่มเว็บบล็อกหรือเว็บเอกสารได้เร็วโดยแทบไม่ต้องออกแบบเอง
ข้อแลกเปลี่ยนคือความเร็วในการบิลด์ที่ช้ากว่าเครื่องมือรุ่นใหม่เมื่อเว็บมีหน้าจำนวนมาก และต้องติดตั้งสภาพแวดล้อม Ruby ซึ่งมีขั้นตอนมากกว่าเครื่องมือที่แจกเป็นไฟล์เดียว
ความสามารถเด่นของ Jekyll
ธีมและปลั๊กอินจำนวนมาก
เริ่มเว็บบล็อกหรือเว็บเอกสารได้เร็วโดยไม่ต้องออกแบบเอง
เว็บผลลัพธ์เป็น HTML ล้วน
เสิร์ฟเร็วและปลอดภัยกว่าเว็บที่รันโค้ดฝั่งเซิร์ฟเวอร์
เขียนด้วย Markdown
ทีมเขียนเนื้อหาได้โดยไม่ต้องแตะ HTML และเก็บเวอร์ชันใน Git ได้
ระบบบล็อกในตัว
รองรับโพสต์ แท็ก และหน้าเก็บบทความตั้งแต่แกนหลัก
ปรับแต่งเทมเพลตได้เต็มที่
ควบคุมโครงสร้าง HTML ที่ออกมาได้ทุกจุด
ใช้ Jekyll ทำอะไรได้บ้าง
- บล็อกของทีมพัฒนาและเว็บเอกสารของโครงการ
- เว็บส่วนตัวหรือเว็บผลงานที่ต้องการดูแลน้อย
- เว็บที่ต้องการเก็บเนื้อหาไว้ใน Git ทั้งหมด
- เว็บที่ย้ายมาจากบริการโฮสต์เว็บ Static และต้องการควบคุมเซิร์ฟเวอร์เอง
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เสิร์ฟเว็บเสิร์ฟไฟล์ที่บิลด์แล้ว ใช้ทรัพยากรน้อยมาก | 1 vCPU | 1 GB | NVMe 20 GB |
| แนะนำเว็บที่มีผู้เข้าชมสม่ำเสมอ | 2 vCPU | 2 GB | NVMe 40 GB |
| บิลด์บนเซิร์ฟเวอร์ถ้าให้เซิร์ฟเวอร์บิลด์เองทุกครั้งที่มีการเปลี่ยนแปลง | 2 vCPU | 4 GB | NVMe 40 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Jekyll บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ruby และ Bundler บนเครื่องที่ใช้บิลด์
- Nginx บน Cloud Server สำหรับเสิร์ฟไฟล์
- ที่เก็บโค้ดแบบ Git ถ้าต้องการบิลด์อัตโนมัติ
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง Ruby และ Jekyll
sudo apt update sudo apt -y install ruby-full build-essential zlib1g-dev git gem install jekyll bundler - 2
สร้างโปรเจกต์และทดสอบบนเครื่อง
jekyll new mysite cd mysite bundle exec jekyll serve - 3
บิลด์เว็บสำหรับใช้งานจริง
ผลลัพธ์จะอยู่ในโฟลเดอร์ _site ซึ่งคือทั้งเว็บที่พร้อมนำขึ้นเซิร์ฟเวอร์
JEKYLL_ENV=production bundle exec jekyll build - 4
ตั้ง Nginx ให้เสิร์ฟไฟล์
server { listen 443 ssl; server_name blog.example.com; root /var/www/blog; index index.html; location / { try_files $uri $uri/ =404; } } - 5
ส่งไฟล์ขึ้นเซิร์ฟเวอร์
rsync -avz --delete _site/ deploy@your-server-ip:/var/www/blog/ - 6
ตั้งให้บิลด์อัตโนมัติเมื่อมีการเปลี่ยนแปลง
ตั้ง Pipeline ให้บิลด์และส่งไฟล์ขึ้นทุกครั้งที่ Push เพื่อให้ผู้เขียนแก้เนื้อหาแล้วขึ้นเว็บได้เองโดยไม่ต้องรอผู้ดูแล
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS สำหรับผู้เข้าชม |
| 80 | TCP | HTTP และการต่ออายุใบรับรอง |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้งสิทธิ์ให้ผู้ใช้ที่ส่งไฟล์เขียนได้เฉพาะโฟลเดอร์เว็บ
- เปิดหัวข้อความปลอดภัยของ HTTP และบังคับ HTTPS
- ตรวจสอบปลั๊กอินที่ติดตั้งเพิ่มก่อนใช้กับเว็บจริง
- อัปเดตระบบปฏิบัติการและ Nginx ตามรอบ
ทำไมควรรัน Jekyll บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
เว็บที่บิลด์แล้วใช้ทรัพยากรน้อยมาก จึงรันบน Cloud Server ขนาดเล็กที่สุดได้
ควบคุมเซิร์ฟเวอร์เองจึงตั้งค่าแคชและหัวข้อความปลอดภัยได้เต็มที่ ต่างจากบริการโฮสต์เว็บ Static ที่ปรับได้จำกัด
ใช้คู่กับ Cloud CDN ในไทยเมื่อผู้เข้าชมเพิ่มขึ้น
คำถามที่พบบ่อยเกี่ยวกับ Jekyll
Jekyll กับ Hugo เลือกอะไรดี
ถ้าเว็บมีหน้าจำนวนมากและให้ค่ากับความเร็วในการบิลด์ Hugo ได้เปรียบชัดเจน แต่ถ้าต้องการธีมสำเร็จรูปจำนวนมากและทีมคุ้นกับ Ruby อยู่แล้ว Jekyll ยังเป็นตัวเลือกที่ดี
ย้ายจากบริการโฮสต์เว็บ Static มาที่ Cloud Server ได้ไหม
ได้ทันที เพราะผลลัพธ์เป็นไฟล์ HTML ล้วน เพียงบิลด์แล้วคัดลอกโฟลเดอร์ผลลัพธ์ขึ้นเซิร์ฟเวอร์ ข้อดีคือควบคุมแคช โดเมน และหัวข้อความปลอดภัยได้เอง
ต้องบิลด์บนเซิร์ฟเวอร์ไหม
ไม่จำเป็น บิลด์บนเครื่องนักพัฒนาหรือบนเครื่อง CI แล้วส่งเฉพาะผลลัพธ์ขึ้นไปก็พอ ซึ่งทำให้เซิร์ฟเวอร์ไม่ต้องติดตั้ง Ruby เลยและปลอดภัยกว่า
ทางเลือกอื่นที่คล้ายกับ Jekyll
แอปอื่นในหมวด CMS และเว็บไซต์
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Jekyll ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด