โลโก้ Jekyll
CMS และเว็บไซต์MIT (โอเพนซอร์ส)

Jekyll คืออะไร และวิธี Deploy เว็บ Static บน Cloud Server

Jekyll คือเครื่องมือสร้างเว็บ Static ที่อยู่ในวงการมานานที่สุดตัวหนึ่ง มีธีมและปลั๊กอินจำนวนมาก เหมาะกับบล็อกและเว็บเอกสารที่ต้องการความเรียบง่ายและดูแลน้อย

ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
1 vCPU · RAM 1 GB
ไลเซนส์
MIT (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Jekyll คืออะไร

Jekyll แปลงไฟล์ Markdown และเทมเพลตให้กลายเป็นเว็บ HTML ล้วนตั้งแต่ตอนบิลด์ เมื่อนำขึ้นเซิร์ฟเวอร์แล้วจึงเป็นเพียงไฟล์ที่ Nginx ส่งออกไป ไม่มีโค้ดฝั่งเซิร์ฟเวอร์ให้ดูแลหรือถูกเจาะ

จุดแข็งที่ยังทำให้หลายทีมเลือกใช้คือระบบนิเวศธีมที่ใหญ่และเอกสารที่มีมานาน ทำให้เริ่มเว็บบล็อกหรือเว็บเอกสารได้เร็วโดยแทบไม่ต้องออกแบบเอง

ข้อแลกเปลี่ยนคือความเร็วในการบิลด์ที่ช้ากว่าเครื่องมือรุ่นใหม่เมื่อเว็บมีหน้าจำนวนมาก และต้องติดตั้งสภาพแวดล้อม Ruby ซึ่งมีขั้นตอนมากกว่าเครื่องมือที่แจกเป็นไฟล์เดียว

แผนผังการวางระบบ Jekyll บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 80 ตัว Jekyll และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 1 vCPU แรม 1 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Jekyll ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Jekyll

ธีมและปลั๊กอินจำนวนมาก

เริ่มเว็บบล็อกหรือเว็บเอกสารได้เร็วโดยไม่ต้องออกแบบเอง

เว็บผลลัพธ์เป็น HTML ล้วน

เสิร์ฟเร็วและปลอดภัยกว่าเว็บที่รันโค้ดฝั่งเซิร์ฟเวอร์

เขียนด้วย Markdown

ทีมเขียนเนื้อหาได้โดยไม่ต้องแตะ HTML และเก็บเวอร์ชันใน Git ได้

ระบบบล็อกในตัว

รองรับโพสต์ แท็ก และหน้าเก็บบทความตั้งแต่แกนหลัก

ปรับแต่งเทมเพลตได้เต็มที่

ควบคุมโครงสร้าง HTML ที่ออกมาได้ทุกจุด

ใช้ Jekyll ทำอะไรได้บ้าง

  • บล็อกของทีมพัฒนาและเว็บเอกสารของโครงการ
  • เว็บส่วนตัวหรือเว็บผลงานที่ต้องการดูแลน้อย
  • เว็บที่ต้องการเก็บเนื้อหาไว้ใน Git ทั้งหมด
  • เว็บที่ย้ายมาจากบริการโฮสต์เว็บ Static และต้องการควบคุมเซิร์ฟเวอร์เอง

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Jekyll 3 ระดับ เริ่มจาก 1 vCPU แรม 1 GB ดิสก์ NVMe 20 GB ไปจนถึง 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เสิร์ฟเว็บเสิร์ฟไฟล์ที่บิลด์แล้ว ใช้ทรัพยากรน้อยมาก1 vCPU1 GBNVMe 20 GB
แนะนำเว็บที่มีผู้เข้าชมสม่ำเสมอ2 vCPU2 GBNVMe 40 GB
บิลด์บนเซิร์ฟเวอร์ถ้าให้เซิร์ฟเวอร์บิลด์เองทุกครั้งที่มีการเปลี่ยนแปลง2 vCPU4 GBNVMe 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. 1

    ติดตั้ง Ruby และ Jekyll

    sudo apt update
    sudo apt -y install ruby-full build-essential zlib1g-dev git
    gem install jekyll bundler
  2. 2

    สร้างโปรเจกต์และทดสอบบนเครื่อง

    jekyll new mysite
    cd mysite
    bundle exec jekyll serve
  3. 3

    บิลด์เว็บสำหรับใช้งานจริง

    ผลลัพธ์จะอยู่ในโฟลเดอร์ _site ซึ่งคือทั้งเว็บที่พร้อมนำขึ้นเซิร์ฟเวอร์

    JEKYLL_ENV=production bundle exec jekyll build
  4. 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. 5

    ส่งไฟล์ขึ้นเซิร์ฟเวอร์

    rsync -avz --delete _site/ deploy@your-server-ip:/var/www/blog/
  6. 6

    ตั้งให้บิลด์อัตโนมัติเมื่อมีการเปลี่ยนแปลง

    ตั้ง Pipeline ให้บิลด์และส่งไฟล์ขึ้นทุกครั้งที่ Push เพื่อให้ผู้เขียนแก้เนื้อหาแล้วขึ้นเว็บได้เองโดยไม่ต้องรอผู้ดูแล

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS สำหรับผู้เข้าชม
80TCPHTTP และการต่ออายุใบรับรอง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ตั้งสิทธิ์ให้ผู้ใช้ที่ส่งไฟล์เขียนได้เฉพาะโฟลเดอร์เว็บ
  • เปิดหัวข้อความปลอดภัยของ 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 ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด