Caching in NGINX Balancer

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

ดังนั้นการแคชจึงช่วยเพิ่มประสิทธิภาพในขณะที่เข้าถึงทรัพยากรได้สองวิธี:

  • ลดเวลาในการเข้าถึงทรัพยากรโดยการคัดลอกให้อยู่ใกล้ผู้ใช้มากขึ้น
  • เพิ่มความเร็วในการสร้างทรัพยากรโดยลดจำนวนการเข้าถึง ตัวอย่างเช่น แทนที่จะสร้างหน้าแรกของบล็อกตามคำขอแต่ละครั้งคุณสามารถจัดเก็บไว้ในแคชได้

คำแนะนำนี้แสดงวิธีการตั้งค่าแคชบน NGINX-balancer ใน Ruk-Com PaaS

ด้วย NGINX-balancer คุณสามารถใช้การแคชเพื่อลดการโหลดแอปพลิเคชันเซิร์ฟเวอร์ ในการดำเนินการดังกล่าวให้ทำตามขั้นตอนต่อไปนี้:

1. เข้าสู่แดชบอร์ด Ruk-Com

2. ขอให้ Ruk-Com Cloud ใช้ Create Environment

3. สร้าง Environment แอปพลิเคชันเซิร์ฟเวอร์จำนวนหนึ่งและ NGINX เป็นตัวปรับสมดุล (balancer) ระบุลิมิตของ cloudlet พิมพ์ชื่อของ Environment และคลิกปุ่ม Create

ภายในไม่กี่นาที Environment ของคุณจะถูกสร้างขึ้นและปรากฏในรายการ

4. สำหรับการตั้งค่าแคชให้คลิกปุ่ม Config สำหรับโหนด NGINX ใน Env ของคุณและไปที่ conf.d > cache.conf

5. สำหรับการเปิดใช้งานแคช ให้ยกเลิกการคอมเมนต์ในบรรทัดตามที่แสดงในภาพด้านล่าง

  • proxy_cache_path /var/lib/nginx/cache [levels=levels] keys_zone=name:size
  • คำสั่งนี้กำหนดพาธและพารามิเตอร์อื่น ๆ ของแคช
    – พารามิเตอร์ levels กำหนดระดับลำดับชั้นของแคช
    – พารามิเตอร์ keys_zone กำหนดค่าชื่อและขนาด RAM ของโซน (ตัวอย่างเช่น jelastic:32m)
  • proxy_cache zone | off, where zone – identifier of the cache
    คำสั่งนี้กำหนดโซนหน่วยความจำแบบแชร์ใช้ที่ใช้สำหรับการแคช สามารถใช้โซนเดียวกันได้หลายที่
    พารามิเตอร์ off ปิดใช้งานการแคชที่สืบทอดมาจาก configuration level ก่อนหน้า
  • proxy_temp_path /var/lib/nginx/tmp [level1 [level2 [level3]]]
    สิ่งนี้กำหนดไดเร็กทอรีสำหรับจัดเก็บไฟล์ชั่วคราวที่มีข้อมูลที่ได้รับจากพร็อกซีเซิร์ฟเวอร์ สามารถใช้ลำดับชั้นไดเร็กทอรีย่อยได้สูงสุดสามระดับภายใต้ไดเร็กทอรีที่ระบุ
  • proxy_cache_valid {number}m
    ระบุเวลาที่ NGINX ควรเก็บ cash ไว้ เช่น 720m.

หากต้องการค้นหาข้อมูลเกี่ยวกับคำสั่งอื่น ๆ ให้ไปที่ link.

เคล็ดลับ: 
หากจำเป็นต้องล้างแคชคุณสามารถใช้ไดเร็กทอรี proxy_cache_valid ที่มีค่าพารามิเตอร์ 0m ได้

6. บันทึกการเปลี่ยนแปลงและรีสตาร์ทโหนด