Object Cache Pro บน Cloudways: ตั้งค่า Varnish, Redis และปลั๊กอิน Breeze พร้อมวิธีล้างแคช

ในโครงสร้างแคชของ Cloudways นั้น Varnish บนเซิร์ฟเวอร์จะเก็บหน้าเว็บที่สร้างเสร็จแล้ว ส่วน Redis จะเก็บผลการค้นหาจากฐานข้อมูล และ WordPress ที่ Cloudways ปรับแต่งให้จะมาพร้อมปลั๊กอิน Breeze และ Object Cache Pro ที่ติดตั้งไว้แล้ว เมื่อตรวจส่วนหัวการตอบกลับของแอปพลิเคชันทดสอบที่ใช้ Lightning Stack พบว่าหน้าแรกถูกส่งจากสำเนา Varnish ชุดเดียวกันนานกว่า 9 ชั่วโมง และการแก้ไขบทความจะแสดงผลก็ต่อเมื่อ Breeze หรือ WP Rocket ล้างแคชแล้วเท่านั้น
1️⃣ โครงสร้างแคชของ Cloudways
เซิร์ฟเวอร์ Cloudways ติดตั้งเว็บเซิร์ฟเวอร์ Nginx และ Apache, แคชหน้าเว็บ Varnish, แคชออบเจ็กต์ Redis, PHP-FPM และ MariaDB มาพร้อมกัน ในแอปพลิเคชันแต่ละตัวคุณเลือกสแต็กได้ที่ [Application Settings] › [WebStack] ระหว่าง Hybrid Stack ที่ใช้ Nginx กับ Apache ร่วมกัน และ Lightning Stack ที่ใช้เฉพาะ Nginx โดย Lightning Stack จะไม่อ่าน [.htaccess]
2️⃣ การตั้งค่า Varnish และกฎการยกเว้น
Varnish เปิดอยู่เป็นค่าเริ่มต้นบนเซิร์ฟเวอร์ Cloudways ทุกเครื่อง และเมื่อเปิดที่เซิร์ฟเวอร์ก็จะมีผลกับทุกแอปพลิเคชันบนเซิร์ฟเวอร์นั้น หากต้องการปิดเฉพาะบางแอปพลิเคชัน ให้ปิด [Varnish] ที่ [Application Settings] › [General] ของแอปพลิเคชันนั้น

หน้าล็อกอินและหน้าผู้ดูแลของ WordPress หน้าตะกร้าสินค้าและหน้าชำระเงินของ WooCommerce รวมถึงคำขอที่มีคุกกี้ล็อกอิน จะถูกยกเว้นจากแคชตั้งแต่แรก หากต้องการยกเว้นที่อยู่หรือคุกกี้เพิ่มเติม ให้เพิ่มด้วย [Add New Exclusion] ที่แท็บ [Varnish] ของ [Application Settings] โดยกรอกที่อยู่เป็นเส้นทางที่ไม่มีโดเมน เช่น [/booking/]
เมื่อส่งคำขอไปยังแอปพลิเคชันทดสอบโดยแนบคุกกี้ล็อกอิน การตอบกลับไม่มีส่วนหัว [x-cache] ส่วนหน้าแรกที่ขอโดยไม่มีคุกกี้แสดง [x-cache: HIT] และ [age: 33254] โดย [age] คือจำนวนวินาทีนับจากสร้างสำเนา Varnish ซึ่งในที่นี้ประมาณ 9 ชั่วโมง 14 นาที
Varnish ใช้กับ WordPress และ Magento 2 และไม่เหมาะกับ Laravel หรือแอปพลิเคชัน PHP ที่เขียนขึ้นเอง
ระยะเวลาเก็บแคช (TTL) กำหนดได้ที่ [Cache Lifetime] ของ Varnish ใน [Settings & Packages] › [Advanced] ของเซิร์ฟเวอร์ ซึ่งในเซิร์ฟเวอร์ทดสอบที่สร้างใหม่มีค่าเป็น 30 วัน ค่าที่เลือกได้คือ 4, 8, 14 และ 24 ชั่วโมง กับ 7, 14 และ 30 วัน และเนื่องจากค่านี้เป็นระดับเซิร์ฟเวอร์ จึงใช้กับทุกแอปพลิเคชัน รวมถึงสเตจจิง





3️⃣ Redis และ Object Cache Pro
แม้ Varnish จะเก็บหน้าเว็บไว้ แต่คำขอที่ถูกยกเว้นจากแคช เช่น ผู้ใช้ที่ล็อกอินอยู่หรือตะกร้าสินค้า WordPress ก็ยังต้องค้นข้อมูลจากฐานข้อมูลเพื่อสร้างหน้า Object Cache Pro คือปลั๊กอินที่เก็บผลการค้นหานี้ไว้ในหน่วยความจำของ Redis เพื่อไม่ต้องผ่านฐานข้อมูลอีกเมื่อมีการขอข้อมูลเดิมซ้ำ
แอปพลิเคชัน WordPress และ WooCommerce ที่ Cloudways ปรับแต่งให้จะถูกสร้างขึ้นพร้อม Object Cache Pro ที่ติดตั้งและเปิดใช้งานแล้ว และผู้ใช้ Cloudways ใช้งานได้ฟรี จุดเปิดและปิดอยู่ที่แท็บ [Application Settings] › [WordPress] ของแอปพลิเคชัน และแอปพลิเคชันทดสอบที่สร้างใหม่ก็เปิดอยู่ตั้งแต่แรกเช่นกัน

หากติดตั้งร่วมกับปลั๊กอินแคชออบเจ็กต์อื่น เช่น Redis Object Cache หรือ WP Redis จะเกิดความขัดแย้ง จึงต้องลบปลั๊กอินนั้นออกก่อน เมื่อปิดบริการ Redis บนเซิร์ฟเวอร์ Object Cache Pro ของทุกแอปพลิเคชันจะถูกปิดใช้งาน และใช้ไม่ได้กับ PHP รุ่นต่ำกว่า 7.4
4️⃣ เลือกระหว่าง Breeze กับ WP Rocket
แคชหน้าเว็บทำงานได้แม้ใช้เพียง Varnish โดยไม่มี Breeze แต่ Varnish ไม่รู้เองว่าบทความมีการเปลี่ยนแปลง หน้าเก่าจึงยังแสดงอยู่จนกว่าจะพ้นระยะเวลาเก็บแคช หรือจนกว่าจะล้างแคชด้วยตัวเอง
Breeze เป็นปลั๊กอินแคชฟรีที่มาพร้อมกับ WordPress ที่ Cloudways ปรับแต่งให้และติดตั้งไว้แล้ว โดยเปิดหน้าตั้งค่าได้จากเมนูผู้ดูแลที่ [การตั้งค่า] › [Breeze]
ในแอปพลิเคชันที่ตรวจสอบ [Cache System] เปิดอยู่ และรอบการล้างแคชภายในคือ 1440 นาที (1 วัน) หากเปิด [Auto Purge Varnish] ในแท็บ [VARNISH] ไว้ เมื่อเผยแพร่บทความหรือหน้าใหม่ หรือมีการส่งความคิดเห็น แคชของ Varnish ก็จะถูกล้างไปด้วย
หากใช้ WP Rocket ให้ปิดใช้งานและลบปลั๊กอินเพิ่มประสิทธิภาพอื่นอย่าง Breeze หลังย้ายเว็บไซต์ที่เคยใช้ WP Rocket ไปยังแอปพลิเคชันใหม่ด้วยปลั๊กอิน Migrator ทันที HTML ของหน้าแรกมีทั้งเครื่องหมายแคชของ Breeze และสคริปต์โหลดแบบหน่วงของ WP Rocket อยู่ด้วยกัน ดังนั้นหลังย้ายเว็บไซต์ให้ตรวจก่อนว่า Breeze เปิดอยู่หรือไม่
WP Rocket: แท็บ [Varnish] – การเปิดล้างแคชอัตโนมัติทำหน้าที่เหมือน Breeze และใช้ Object Cache Pro ร่วมกับปลั๊กอินแคชหน้าเว็บอย่าง Breeze และ WP Rocket ได้
5️⃣ การล้างแคช
หากต้องการล้างแคชทันที ให้ใช้เมนู [Breeze] บนแถบเครื่องมือผู้ดูแลที่ด้านบนของ WordPress
หากเชื่อมต่อผ่าน SSH ให้ใช้คำสั่งต่อไปนี้เพื่อล้างทั้งแคชของปลั๊กอินและแคชของ Varnish พร้อมกัน
wp breeze purge --cache=all[--cache=varnish] ล้างเฉพาะแคชของ Varnish
wp breeze purge --cache=varnish[--cache=local] ล้างเฉพาะแคชของปลั๊กอิน
wp breeze purge --cache=localเว็บไซต์ที่มีพร็อกซีอย่าง Cloudflare อยู่ด้านหน้า อาจยังไม่เห็นการเปลี่ยนแปลงทันทีแม้ล้าง Varnish แล้ว ในกรณีนั้นให้ล้างแคชของ Cloudflare ด้วย
🔢 FAQ & เนื้อหาแนะนำ















ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน