การ config nginx reverse proxy ไม่ให้พื้นที่เต็ม

จาก วิกิพีเดียว กองแผนงาน มช.
รุ่นแก้ไขเมื่อ 08:22, 18 พฤศจิกายน 2568 โดย Admin (คุย | ส่วนร่วม) (สร้างหน้าด้วย "ขนาดพื้นที่ดิสก์ที่เหมาะสมสำหรับ Reverse Proxy Nginx นั้น ไม่มีค่าตายตัวเป็น GB แต่ขึ้นอยู่กับ 2 ปัจจัยหลักคือ การใช้งาน Cache และ ปริมาณ Log Reverse Proxy Nginx โดยตัวมันเองเป็นโปรแกรมที่ ใช้พ...")
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

ขนาดพื้นที่ดิสก์ที่เหมาะสมสำหรับ 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)