مدیریت حافظه پنهان NGINX

مدیریت حافظه پنهان NGINX

مرتضی حبیبی

در این مقاله، ما گزینه های مختلف پیکربندی حافظه پنهان NGINX و نکاتی درباره سایت خود را بررسی می کنیم تا بهترین عملکرد را از Optimized Stack وردپرس کسب کنید. این مقاله شامل رایج ترین پارامترهایی است که می توانید از طریق افزونه Cache Manager تنظیم کنید. ما را همراهی کنید تا به شما مدیریت حافظه پنهان NGINX را آموزش دهیم.

پیکربندی پارامترهای حافظه نهان:

پارامترهای پیش فرض حافظه نهان، پیکربندی شده از طریق افزونه Cache Manager، باید برای اکثر وب سایت ها کار کند. با این حال، در برخی موارد، این مقادیر ممکن است نیاز به افزایش سرعت داشته باشند. به عنوان مثال، ممکن است برای بهبود بیشتر عملکرد در وب سایت های پر ترافیک، نیاز به تنظیماتی داشته باشند یا اینکه به حافظه نهان صحیح با برخی تجارت الکترونیک یا محتوای پویا کار کند. ما پیشنهادی کلی را ارائه می دهیم و گزینه های اصلی را که در زیر قابل تنظیم است ارائه می دهد.

انقضا Cache:

 

مدیریت حافظه پنهان NGINX

 

می توانید زمان حافظه نهان صفحه را از طریق پارامتر Default Cache Time با استفاده از (cache_time_default) تنظیم کنید. این پارامتر تعیین می کند که یک صفحه پس از ذخیره شدن توسط سرور (به طور پیش فرض، ۴ ساعت) چه مدت معتبر خواهد ماند. هنگامی که تاریخ انقضا صفحه ذخیره شد سرور صفحه جدیدی را از Apache یا PHP دریافت می کند، سپس نتیجه جدید را ذخیره کنید. در صورت بروز خطای اتصال یا خطای ۵۰۰ هنگام تلاش برای بارگیری صفحه به روز شده، NGINX به جای آن، صفحه ای که قبلا در حافظه کش ذخیره شده آن را نشان می دهد. این امر باعث می شود سایت شما به صورت آنلاین ظاهر شود.

دور زدن URL ها:

 

مدیریت حافظه پنهان NGINX

 

اکثر وب سایت ها دارای صفحات خاصی هستند که هرگز نباید آنها را ذخیره کرد، مانند صفحات ورود به سیستم یا صفحات پرداخت. می توانید صفحات یا الگوهای URL را از ذخیره سازی در بخش بایگانی URL ها (cache_bypass_paths) در افزونه Cache Manager حذف کنید. پیکربندی پیش فرض در حال حاضر شامل برخی از الگوهای معمول است و wp-login.php ،wp-admin و همچنین برخی دیگر را حذف نمی کند. اگر صفحه‌ای را ذخیره کردید، اما نباید باشد، پس از افزودن آن به این لیست، باید این کار انجام شود و صفحه نمایش داده نشود.

محتوای استاتیک:

 

مدیریت حافظه پنهان NGINX

 

محتوای استاتیک – مانند تصاویر، Javascript و StyleSheet – معمولاً خیلی تغییر نمی کنند. به همین دلیل، NGINX می تواند در صورت درخواست بازدید کننده در حال مشاهده وب سایت شما به سرعت در خدمت آنها باشد. در پیکربندی پیش فرض، NGINX به جای ارسال درخواست به آپاچی، مستقیماً از فایل های موجود در حافظه کش خود استفاده می کند. این به سرعت بخشیدن به درخواست ها کمک می کند و از ذخیره بی نیاز داده های استاتیک قبلی جلوگیری می کند. می توانید این گزینه را از طریق گزینه Accelerate Static Content و بخش (accel_static_content) پیکربندی کنید.

مسیرهای خاص محتوای استاتیک را می توان از طریق رابط مدیر کش نیز تعریف کرد. این به طور معمول مورد نیاز نیست، زیرا NGINX محتوای استاتیک را بر اساس پسوند پرونده (مانند png ، jpg ، js و غیره) ارائه می دهد. این گزینه در درجه اول ارائه شده است تا امکان ارائه فایل های استاتیک اضافی یا بارگیری هایی که از پسوند غیر معمول استفاده می کنند، یا در ترکیب با قوانین پیچیده passthru ارائه می شود. می توانید این گزینه را از طریق گزینه Static Content Path و بخش (static_content_paths) پیکربندی کنید.

Force Passthru:

 

مدیریت کش NGINX

 

استفاده پیش فرض از محتوای استاتیک به طور بالقوه می تواند در وب سایت هایی که تصاویر پویا یا سایر فایل هایی را که معمولاً ایستا محسوب می شوند، ایجاد مشکل کند. نشانه ای از این مشکل یک خطای ۴۰۴ Not Found برای محتوای تولید شده پویا است. در این موارد، می توانید اسکریپت یا مسیر را به لیست (force_passthru)، که در تب Advanced در افزونه Cache Manager یافت می شود، اضافه کنید. به عنوان مثال، اگر سایت شما ریز عکس های پویا را در http://example.com/thumbs/thumb01.png ایجاد می کند، پس از آن شما thumbs را به لیست Force Passthru اضافه می کنید. وقتی URL با الگویی در این لیست مطابقت دارد، همیشه به Apache منتقل می شود، و قوانین ذخیره سازی عادی هم اعمال می شوند. اگر می خواهید حافظه کش را برای یک صفحه خاص دور بزنید، باید به جای آن از تنظیمات دور زدن URL استفاده کنید.

مدیریت حافظه نهان و Purging:

برای به دست آوردن بهترین عملکرد، بهترین شیوه ها معمولاً خواستار ایجاد مدت زمان طولانی حافظه پنهان (۴ ساعت، به طور پیش فرض) و سپس پاک کردن صفحات از حافظه پنهان پس از تغییر هستند. در زیر چند مورد از چگونگی دستیابی به این هدف، بسته به نیاز شما آورده شده است:

انقضا خودکار:

با استفاده از افزونه ای مانند افزونه NGINX Helper برای وردپرس، می توانید صفحات را تنظیم کنید تا بعد از ایجاد تغییر در سایت، به طور خودکار منقضی شود (مانند ارسال مقاله جدید، نظرات جدید و غیره). ما این افزونه را برای کلیه سایت های WordPress که از WordPress Optimized Stack استفاده می کنند، توصیه می کنیم، زیرا مدیریت حافظه پنهان را برای بیشتر کارهای روزانه به صورت خودکار انجام می دهد.

جستجوی کامل حافظه نهان:

 

مدیریت کش NGINX

 

وقتی تغییرات اساسی در سایت خود ایجاد می کنید، از جمله تغییرات اساسی در کد یا بروزرسانی های اساسی، ممکن است پاک کردن کل حافظه پنهان برای از بین بردن مشکلات احتمالی مفید باشد. می توانید با استفاده از دکمه Purge Full Cache در افزونه Cache Manager به این هدف برسید.

پاک کردن یک صفحه:

 

مدیریت کش NGINX

 

اگر می خواهید با یک صفحه مشکلی را تشخیص دهید ، اما نمی خواهید کل حافظه نهان را پاک کنید ، می توانید به راحتی یک صفحه را پاک کنید. تمام کاری که شما باید انجام دهید این است که از ویژگی Purge URL در افزونه Cache Manager استفاده کنید.

عیب یابی مشکلات حافظه کش:

گاهی اوقات ممکن است ردیابی مشکلات حافظه کش مشکل باشد – به خصوص اگر مجموعه پیچیده ای از قوانین را در Cache Manager ایجاد کرده اید. در زیر چند نکته در مورد چگونگی پاک کردن وضعیت حافظه نهان صفحه با استفاده از ابزار توسعه داخلی مرورگر وب یا با استفاده از cURL پیدا خواهید کرد:

با استفاده از ابزارهای توسعه مرورگر:

 

مدیریت cache NGINX

 

مدیریت cache Ngnix

 

در Chrome / Chromium ،Safari ،Vivaldi یا Firefox می توانید با فشار دادن F12 کنسول DevTools را باز کنید. سپس بر روی زبانه Network کلیک کنید تا لیستی از تمام درخواست های صفحه فعلی را مشاهده کنید. اگر چیزی نمایش داده نمی شود، اطمینان حاصل کنید که کنسول در جعبه غیرفعال کردن حافظه کش نشان می دهد. پس از تازه کردن، اولین ورودی را در لیست شبکه انتخاب کنید (مطمئن باشید که مرتب سازی بر اساس “Cause” در Firefox است)، که به طور معمول درخواست صفحه واقعی است. در مرحله بعد، در صفحه سمت راست Response، یک هدر X-Proxy-Cache، وضعیت حافظه نهان را برای این درخواست خاص به شما نشان می دهد.

با استفاده از cURL:

اگر به SSH سرور خود یا یک ترمینال محلی (در MacOS یا Linux) دسترسی دارید، می توانید خیلی سریع از cURL استفاده کنید. ابتدا یک پنجره SSH را باز کنید، سپس دستور زیر را اجرا کنید:

 user@server ~ $ curl -A Mozilla -is http://example.com/ | head -15

URL مورد نظر خود را در مثال بالا با نمونه ای که می خواهید آزمایش کنید جایگزین کنید. این دستور باید لیستی از هدرهای پاسخ از جمله هدر X-Proxy-Cache را فراهم کند.

با استفاده از ngxutil:

(VPS /فقط  اختصاصی):

ngxutil کارهای مفیدی را انجام می دهد. برای این بحث، ما به قابلیت info– آن خواهیم پرداخت. این عملکرد یک درخواست به URL ارائه شده می دهد، سپس وضعیت فعلی حافظه کش روی دیسک را نشان می دهد، بررسی می کند که آیا در این صفحه از حافظه پنهان استفاده شده است، و در صورت بروز مشکل یا دریافت خطا، نکات عیب یابی کلی را ارائه می دهد:

 [root@vpsdedi ~]# ngxutil --info http://example.com/

این روش به ریشه SSH نیاز دارد و فقط مربوط به VPS ها و مشتریان اختصاصی است که WordPress Optimized Stack را اجرا می کنند. لطفاً برای راهنمایی در مورد اتصال، به مقاله ما در مورد نحوه اتصال از طریق ssh مراجعه کنید.

به همین راحتی می توانید حافظه پنهان NGINX را مدیریت کنید.

امیدواریم این مقاله برای شما مفید بوده و از آن بهره لازم را برده باشید. نظرات خود را با ما به اشتراک بگذارید.

ما را در شتابان هاست دنبال کنید.

برچسب ها: آموزش سی پنل

ارسال دیدگاه جدید