معرفی ویژگی lingering_close در Nginx
ویژگی lingering_close
در Nginx یکی از ویژگیهای جالب در ماژول ngx_http_core_module
است که به مدیریت نحوه پایان دادن به ارتباطات کمک میکند. این ویژگی به طور خاص برای بهبود تجربه کاربری و جلوگیری از قطع ناگهانی ارتباطات بدون اتمام درست آنها طراحی شده است.
وقتی که در یک وبسایت از Nginx به عنوان وبسرور استفاده میکنید، ممکن است کاربران ناگهان ارتباط را قطع کنند. در این مواقع، سرویسهای وب باید ارتباطات را به شکل مؤثری مدیریت کنند تا از بروز مشکلاتی مانند از بین رفتن دادهها و یا پاسخهای نادرست جلوگیری شود.
ویژگی lingering_close
به این معنی است که وقتی ارتباطی با یک کلاینت بسته میشود، Nginx میتواند برای مدت کوتاهی به ارتباط ادامه دهد و در این زمان میتواند اطلاعات باقیمانده را ارسال کند یا حتی اجازه دهد کلاینت دادهها را دریافت کند. این کار کمک میکند تا از گم شدن دادهها جلوگیری شود و اطمینان حاصل گردد که پاسخهای نهایی به درستی به کلاینت ارسال میشوند.
تنظیم این ویژگی در فایل پیکربندی Nginx بسیار ساده است و میتواند بر اساس نیازهای یک وبسایت تنظیم شود. این تنظیمات میتوانند در بلوک http
یا server
انجام شوند، بسته به اینکه بخواهید تنظیمات کلی یا محلی انجام دهید.
مثال کد
# تنظیم lingering_close در Nginx
http {
lingering_close on;
# یا میتوانید به صورت محلی در یک server block تنظیم کنید
}
server {
listen 80;
server_name example.com;
lingering_close on;
}
توضیح کد
# تنظیم lingering_close در Nginx
این خط برای شروع یک بلوک تنظیمات http
در Nginx است.
http {
این خط نشاندهنده آغاز بخش http
است که در آن میتوانید تنظیمات مربوط به HTTP را انجام دهید.
lingering_close on;
این خط ویژگی lingering_close
را فعال میکند. زمانی که یک کلاینت ارتباط را قطع میکند، Nginx برای مدت کوتاهی به ارتباط ادامه میدهد.
server {
این خط نشاندهنده آغاز بلوک تنظیمات مربوط به یک سرور خاص است.
listen 80;
در این خط، پورت 80 برای سرور فعال شده است که برای ترافیک HTTP استاندارد استفاده میشود.
server_name example.com;
در این خط نام دامنه سرور مشخص شده است، که در این مثال example.com
است.
lingering_close on;
این خط دوباره ویژگی lingering_close
را برای این سرور خاص فعال میکند.