การตั้งค่า nginx reverse proxy ไม่ให้พื้นที่เต็ม
ขนาดพื้นที่ดิสก์ที่เหมาะสมสำหรับ Reverse Proxy Nginx นั้น ไม่มีค่าตายตัวเป็น GB แต่ขึ้นอยู่กับ 2 ปัจจัยหลักคือ การใช้งาน Cache และ ปริมาณ Log
Reverse Proxy Nginx โดยตัวมันเองเป็นโปรแกรมที่ ใช้พื้นที่น้อยมาก (หลักสิบถึงร้อย MB) แต่สิ่งที่กินพื้นที่คือส่วนเสริมเหล่านี้:
💾 1. การกำหนดพื้นที่ตามลักษณะการใช้งาน
🔹 กรณีที่ 1: ไม่มีการเปิดใช้งาน Cache (Proxy Cache Off) ถ้า Nginx ทำหน้าที่แค่ส่งผ่าน (pass-through) คำขอไปยัง Backend Server โดยไม่มีการเก็บข้อมูลแคช:
พื้นที่ที่ต้องการ: 5 GB ถึง 10 GB ก็เพียงพอต่อการใช้งานทั่วไป
สิ่งที่กินพื้นที่: ส่วนใหญ่จะเป็น Log files (/var/log/nginx/) และไฟล์ระบบปฏิบัติการ (OS) เอง
คำแนะนำ: ตรวจสอบให้แน่ใจว่าได้ตั้งค่า Log Rotation (ผ่าน logrotate) เพื่อลบ Log เก่าโดยอัตโนมัติ
🔹 กรณีที่ 2: มีการเปิดใช้งาน Cache (Caching Reverse Proxy) นี่คือปัจจัยหลักที่กำหนดขนาดดิสก์ คุณจะต้องสำรองพื้นที่สำหรับ Proxy Cache ซึ่งสามารถกำหนดขนาดได้ตามต้องการ
พื้นที่ที่ต้องการ: ขึ้นอยู่กับขนาดของ max_size ที่คุณกำหนดใน proxy_cache_path directive
ตัวอย่างการตั้งค่า: สำหรับการใช้งานในบ้านหรือโครงการขนาดเล็ก อาจตั้งค่าไว้ที่ 1 GB ถึง 10 GB
ตัวอย่างสำหรับ Production/องค์กร: อาจตั้งค่าไว้ที่ 100 GB จนถึง หลาย TB ขึ้นอยู่กับปริมาณข้อมูลที่จะแคช
คำแนะนำ: ควรตั้งค่า max_size ในไฟล์คอนฟิก nginx.conf อย่างชัดเจน เพื่อป้องกันไม่ให้แคชเติบโตจนเต็มดิสก์ ตัวอย่างเช่น:
Nginx
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; (ในตัวอย่างนี้คือจำกัดขนาดแคชสูงสุดไว้ที่ 10 GB)