درک مفهوم scgi_no_cache در Nginx
سلام! امروز میخواهیم به بررسی یک گزینه خاص در ماژول ngx_http_scgi_module
در Nginx بپردازیم. این گزینه scgi_no_cache
نام دارد و میتواند در مواقعی که نیاز به مدیریت کش درخواستهای SCGI داریم، بسیار مفید باشد. پس با ما همراه باشید تا بفهمیم این ویژگی دقیقاً چه کار میکند و چگونه میتوانیم از آن استفاده کنیم.
ماژول ngx_http_scgi_module
به ما این امکان را میدهد که با اپلیکیشنهای SCGI (محیط متصل به CGI) ارتباط برقرار کنیم. در این بخش، ما میتوانیم ویژگیها و تنظیمات مختلفی را انجام دهیم که بر رفتار Nginx در ارتباط با این برنامهها تأثیر میگذارد. یکی از این ویژگیها، scgi_no_cache
است.
با استفاده از scgi_no_cache
، شما میتوانید مشخص کنید که آیا Nginx باید درخواستهایی که به SCGI ارسال میشوند را کش کند یا خیر. به عبارت دیگر، این گزینه به شما کمک میکند تا کنترل بهتری روی کش پرسوجوهای SCGI داشته باشید و مانند یک سپر عمل کنید تا از ایجاد کش غیر ضروری جلوگیری کنید.
حالا که با مفهوم scgi_no_cache
آشنا شدیم، میخواهیم نگاهی به نحوۀ پیادهسازی این ویژگی در فایل تنظیمات Nginx بیندازیم و نحوه کار آن را با مثال واقعی بررسی کنیم.
نحوه پیادهسازی scgi_no_cache
location /example {
include fastcgi_params;
scgi_pass 127.0.0.1:9000;
scgi_no_cache 1;
}
توضیح کد
ماژول location:
این دستور مشخص میکند که تنظیمات داخل آن برای مسیری خاص، در اینجا
/example
، اعمال میشود.include fastcgi_params:
با این خط، پارامترهای مورد نیاز برای پردازش SCGI بارگذاری میشوند.
scgi_pass 127.0.0.1:9000:
این خط مشخص میکند که درخواستها به کدام سرور (در اینجا localhost با پورت 9000) ارسال شوند.
scgi_no_cache 1:
با این خط، کش کردن برای درخواستهای SCGI غیرفعال میشود و بدین ترتیب Nginx این درخواستها را کش نمیکند.