استفاده از proxy_store در nginx

nginx proxy store
30 بهمن 1403

درباره proxy_store در nginx


ماجرای proxy_store در nginx میتونه به فشرده‌سازی و ذخیره درخواست‌های پروکسی که به سرورهای دیگر میره مربوط بشه. اولین نکته‌ای که باید بدونیم اینه که nginx یکی از بهترین وب‌سرور‌ها برای پروکسی کردن و بارگذاری است. proxy_store یک ویژگی از ماژول ngx_http_proxy_module است که به ما این امکان رو میده تا محتوای دریافت‌شده از یک سرور پروکسی، رو در یک محل مشخص ذخیره کنیم.


این قابلیت چه زمانی به کار میاد؟ زمان‌هایی که شما نیاز دارید تا محتوای پروکسی شده رو نگه‌داری کنید تا در آینده بتونید به راحتی و سریع‌تر به اون دسترسی داشته باشید. مثلا، فرض کنید که شما یک سیستم بارگذاری ویدیو دارید. با استفاده از proxy_store شما می‌تونید ویدیوها رو که از یک سرور دیگر بارگذاری می‌شود، ذخیره کنید و یعنی دفعه بعدی که اونا درخواست می‌شوند، به جای اینکه دوباره از سرور خارجی بارگذاری بشن، به راحتی از سرور شما بارگذاری می‌شوند.


استفاده از این ویژگی خیلی ساده است و با استفاده از تنظیمات و دایرکتوری مناسب می‌تونید هر چیزی رو که نیاز دارید به سرعت ذخیره کنید. فقط کافیه توی تنظیمات nginx، محل ذخیره‌سازی رو تعیین کنید و سپس با استفاده از directives مناسب، نوع محتوا و نحوه ذخیره‌سازی رو مشخص کنید.


در ادامه، یک مثال از استفاده proxy_store رو با هم می‌بینیم. می‌تونید با استفاده از این مثال، خیلی راحت تنظیمات خودتون رو بهینه‌سازی کنید.



location /videos {
proxy_pass http://external.video.server;
proxy_store on;
proxy_store_path /var/www/proxy-store/;
}

توضیحات کد


location /videos 
این خط نشان‌دهنده مسیری است که nginx به درخواست‌ها پاسخ‌گو خواهد بود.


proxy_pass http://external.video.server;
مشخص می‌کند که درخواست‌ها به کدام سرور خارجی ارجاع داده شوند.


proxy_store on;
با فعال کردن این گزینه، nginx محتوا را ذخیره‌سازی خواهد کرد.


proxy_store_path /var/www/proxy-store/;
این خط به nginx محل ذخیره محتوا را مشخص می‌کند.

سوالات متداول

؟

proxy_store در nginx چیکار می‌کنه؟

؟

چجوری می‌تونم proxy_store رو فعال کنم؟

؟

باید کجا محتوا رو ذخیره کنم؟

؟

چه نوع محتوایی رو می‌تونم با proxy_store ذخیره کنم؟