โลโก้ Hugo
CMS และเว็บไซต์Apache License 2.0 (โอเพนซอร์ส)

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

Hugo คือเครื่องมือสร้างเว็บ Static ที่ขึ้นชื่อเรื่องความเร็วในการบิลด์ เว็บที่ได้เป็นไฟล์ HTML ล้วน จึงเสิร์ฟได้เร็วมาก ปลอดภัยกว่าเว็บที่รันโค้ดฝั่งเซิร์ฟเวอร์ และแทบไม่ต้องดูแล

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

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

Hugo คืออะไร

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

Hugo เขียนด้วยภาษา Go และเป็นตัวที่บิลด์เร็วที่สุดในกลุ่มเดียวกัน เว็บขนาดหลายพันหน้าบิลด์เสร็จในไม่กี่วินาที ซึ่งสำคัญมากเมื่อทีมต้องแก้เนื้อหาแล้วดูผลบ่อย ๆ

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

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

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

บิลด์เร็วมาก

เว็บหลายพันหน้าเสร็จในไม่กี่วินาที ทำให้แก้แล้วดูผลได้ทันที

ไม่มีฐานข้อมูลและโค้ดฝั่งเซิร์ฟเวอร์

ลดพื้นที่การโจมตีและแทบไม่มีงานดูแลความปลอดภัยประจำวัน

เก็บเนื้อหาใน Git

ทุกการเปลี่ยนแปลงมีประวัติ ตรวจทานผ่านการรีวิว และย้อนกลับได้

ธีมและ Shortcode

มีธีมสำเร็จรูปจำนวนมากและกลไกใส่ส่วนประกอบซ้ำในเนื้อหา

รองรับหลายภาษา

ทำเว็บสองภาษาในโปรเจกต์เดียวได้ตั้งแต่แกนหลัก

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

  • เว็บเอกสารและคู่มือของผลิตภัณฑ์
  • บล็อกและเว็บเนื้อหาที่ต้องการความเร็วสูงสุด
  • เว็บบริษัทที่เนื้อหาไม่เปลี่ยนบ่อยและอยากลดงานดูแล
  • Landing Page แคมเปญที่ต้องขึ้นเร็วและโหลดไว

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

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

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Hugo บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Hugo บนเครื่องที่ใช้บิลด์ (เครื่องนักพัฒนาหรือเครื่อง CI)
  • Nginx บน Cloud Server สำหรับเสิร์ฟไฟล์
  • ที่เก็บโค้ดแบบ Git ถ้าต้องการบิลด์อัตโนมัติ

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Hugo และสร้างโปรเจกต์

    sudo apt update
    sudo apt -y install hugo git
    hugo new site mysite
    cd mysite && git init
  2. 2

    ติดตั้งธีมและเขียนหน้าแรก

    git submodule add https://github.com/<theme-repo>.git themes/mytheme
    echo 'theme = "mytheme"' >> hugo.toml
    hugo new posts/hello.md
  3. 3

    บิลด์เว็บ

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

    hugo --minify
  4. 4

    ตั้ง Nginx ให้เสิร์ฟไฟล์

    server {
      listen 443 ssl;
      server_name www.example.com;
      root /var/www/site;
      index index.html;
    
      location / { try_files $uri $uri/ =404; }
    
      location ~* \.(css|js|jpg|png|webp|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public";
      }
    }
  5. 5

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

    คัดลอกเฉพาะผลลัพธ์ที่บิลด์แล้วขึ้นไป และลบไฟล์ที่ไม่มีแล้วบนเซิร์ฟเวอร์ออกด้วย

    rsync -avz --delete public/ deploy@your-server-ip:/var/www/site/
  6. 6

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

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

เว็บ Static ไม่มีโค้ดฝั่งเซิร์ฟเวอร์ให้ถูกเจาะ งานดูแลจึงเหลือแค่การอัปเดตระบบปฏิบัติการและ Nginx ซึ่งเบากว่าเว็บทั่วไปมาก

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

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

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

  • ตั้งสิทธิ์ให้ผู้ใช้ที่ใช้ส่งไฟล์เขียนได้เฉพาะโฟลเดอร์เว็บ
  • เปิดหัวข้อความปลอดภัยของ HTTP เช่น HSTS และ Content-Security-Policy
  • ตั้งแคชของไฟล์ Static ให้ยาวเพื่อลดภาระเซิร์ฟเวอร์
  • อัปเดตระบบปฏิบัติการและ Nginx ตามรอบ

ทำไมควรรัน Hugo บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

เว็บ Static เสิร์ฟจาก Cloud Server ในไทยให้ผู้ชมคนไทยได้ความเร็วสูงสุดด้วยเครื่องสเปกต่ำ

ใช้คู่กับ Cloud CDN เพื่อรองรับผู้เข้าชมจำนวนมากโดยไม่ต้องเพิ่มสเปก

ค่าใช้จ่ายต่อเดือนต่ำที่สุดในบรรดาเว็บทุกแบบ เพราะไม่ต้องรันฐานข้อมูลหรือ PHP

คำถามที่พบบ่อยเกี่ยวกับ Hugo

เว็บ Static ทำฟอร์มติดต่อได้ไหม

ได้โดยส่งฟอร์มไปยังบริการรับฟอร์มภายนอกหรือ API เล็ก ๆ ที่รันแยกบนเซิร์ฟเวอร์ ซึ่งยังคงข้อดีของ Static ไว้ทั้งหมดสำหรับหน้าเนื้อหา

Hugo ต่างจาก Jekyll อย่างไร

Hugo เขียนด้วย Go และบิลด์เร็วกว่ามากในเว็บขนาดใหญ่ ส่วน Jekyll อยู่ในระบบนิเวศ Ruby และผูกกับบริการโฮสต์เว็บ Static บางเจ้าได้ตรงกว่า ถ้าเน้นความเร็วบิลด์ Hugo ได้เปรียบชัดเจน

ทีมคอนเทนต์แก้เนื้อหาเองได้ไหม

ได้ถ้าวางระบบให้ครบ เช่น ใช้ Headless CMS หรือหน้าจอแก้ไข Markdown ที่ต่อกับ Git แล้วให้ระบบอัตโนมัติบิลด์ให้ ซึ่งเป็นรูปแบบที่หลายองค์กรใช้อยู่

ให้เราติดตั้ง Hugo ให้ฟรี บน Cloud Server ในไทย

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