استفاده از ngx_http_memcached_module در Nginx

nginx ngx_http_memcached_module memcached_next_upstream
27 تیر 1404

آشنایی با ماژول ngx_http_memcached_module در Nginx


ماژول ngx_http_memcached_module در Nginx به شما این امکان را می‌دهد که برای ذخیره‌سازی اطلاعات از Memcached استفاده کنید. Memcached یک سیستم حافظه کش ابری است که می‌تواند به طور موثری در بهبود عملکرد وب‌سایت‌ها مورد استفاده قرار گیرد. استفاده از این ماژول به برنامه‌نویسان این امکان را می‌دهد که درخواست‌های HTTP را به سمت سرور Memcached هدایت کرده و پاسخ‌های حافظه‌ای سریع‌تری دریافت کنند.


حالا بیایید بررسی کنیم که چگونه می‌توانیم از این ماژول استفاده کنیم و تنظیماتی که باید انجام دهیم چگونه است. نکته مهمی که باید در نظر بگیرید این است که برای استفاده از این ماژول، Memcached باید روی سرور شما نصب و در حال اجرا باشد.


یکی از پارامترهای کلیدی که باید با آن آشنا شوید، گزینه memcached_next_upstream است. این گزینه تعیین می‌کند که Nginx باید در صورت بروز مشکل در برقراری ارتباط با Memcached چه اقداماتی انجام دهد. برای مثال، می‌تواند مشخص کند که آیا باید درخواست را به سرور بعدی ارسال کند یا خیر.


حالا که با مفاهیم پایه آشنا شدیم، بیایید به تنظیمات و پیکربندی‌های لازم برای استفاده از این ماژول بپردازیم.


تنظیمات ngx_http_memcached_module


location /memcached {
default_type application/octet-stream;
memcached_pass 127.0.0.1:11211;
error_page 404 =200;
}

توضیحات کد:


location /memcached

این خط مشخص می‌کند که هر درخواستی که به URI «/memcached» ارسال شود، توسط این بلاک مدیریت خواهد شد.


default_type application/octet-stream;

این خط نوع پیش‌فرض پاسخ را تعیین می‌کند که در اینجا به نوع «application/octet-stream» تنظیم شده است.


memcached_pass 127.0.0.1:11211;

این خط آدرس و پورت سرور Memcached را مشخص می‌کند که در اینجا به آدرس محلی (localhost) و پورت 11211 اشاره دارد.


error_page 404 =200;

این خط مشخص می‌کند که اگر یک خطای 404 (یعنی منبع پیدا نشد) رخ دهد، Nginx به جای اعلام خطا، یک پاسخ موفقیت‌آمیز (200) بازگرداند.

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

؟

ماژول ngx_http_memcached_module چه کاربردی دارد؟

؟

چگونه می‌توانم آدرس سرور Memcached را در Nginx تنظیم کنم؟

؟

آیا می‌توانم رفتار Nginx را در مواجهه با خطاها تغییر دهم؟