صبر کنید...
مرکز آموزش میلاد سرور

کش کردن سایت؛ از مرورگر تا Nginx و Redis

تصویر آموزشی کش کردن سایت؛ از مرورگر تا Nginx و Redis
راهنمای تصویری و مرحله‌به‌مرحله میلاد سرور

کش درست، سرعت را چند برابر می‌کند؛ لایه‌های کش و تنظیم هدرها را یاد بگیرید.

آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی

در این آموزش چه یاد می‌گیرید؟
  • کش کردن سایت؛ از مرورگر تا Nginx و Redis
  • محتواهای ثابت و متغیر را جدا کنید
  • با ابزار مرورگر هدرها را تأیید کنید

چرا این موضوع مهم است؟

موضوع Performance یکی از پایه‌های نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفه‌جویی در زمان پشتیبانی می‌شود.

قبل از شروع، از پیکربندی فعلی و داده‌های مهم نسخه پشتیبان بگیرید تا در صورت نیاز بتوانید به وضعیت قبل برگردید.

پیش‌نیازها

  • دسترسی SSH با کاربر root یا کاربر دارای sudo
  • Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیع‌های مشابه)
  • نسخه پشتیبان از فایل‌ها و دیتابیس‌های مهم

راهنمای گام‌به‌گام

گام 1 — محتواهای ثابت و متغیر را جدا کنید

محتواهای ثابت و متغیر را جدا کنید. این کار را در بازه کم‌ترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.

گام 2 — هدر Cache-Control مناسب بگذارید

هدر Cache-Control مناسب بگذارید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.

گام 3 — کش Nginx را برای فایل‌های استاتیک فعال کنید

کش Nginx را برای فایل‌های استاتیک فعال کنید. پس از اجرا، وضعیت سرویس و لاگ‌ها را کنترل کنید؛ تغییر بدون بررسی می‌تواند خطای پنهان ایجاد کند.

گام 4 — کش برنامه را با Redis بسازید

کش برنامه را با Redis بسازید. اگر روی چند سرور کار می‌کنید، این مورد را یک‌بار روی محیط تست اجرا و سپس روی تولید اعمال کنید.

گام 5 — برای صفحات شخصی‌سازی‌شده کش نکنید

برای صفحات شخصی‌سازی‌شده کش نکنید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیش‌فرض پرهیز کنید.

گام 6 — با ابزار مرورگر هدرها را تأیید کنید

با ابزار مرورگر هدرها را تأیید کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.

نمودار مراحل کش کردن سایت؛ از مرورگر تا Nginx و Redis
شش گام اصلی این آموزش در یک نگاه

نمونه دستورها

نمونه دستورهای کش کردن سایت؛ از مرورگر تا Nginx و Redis
دستورهای پیشنهادی؛ مقادیر نمونه را با اطلاعات سرور خود جایگزین کنید.
location ~* \.(css|js|png|jpg|svg|woff2)\$ {
  expires 30d;
  add_header Cache-Control "public, immutable";
}

نکات امنیتی و بهینه‌سازی

  • تغییرات را مستند کنید تا در آینده یا هنگام تحویل به تیم دیگر قابل پیگیری باشد.
  • رمزها و کلیدها را در فایل‌های محافظت‌شده نگه دارید و هرگز در کد یا مخزن عمومی قرار ندهید.
  • لاگ‌ها را پایش کنید تا رفتار غیرعادی زودتر شناسایی شود.

خطاهای رایج و راه‌حل

  • اگر مطمئن نیستید، تغییر را در محیط تست تکرار کنید و لاگ کامل را برای پشتیبانی بفرستید.
  • اگر تغییرات اعمال نشد، کش مرورگر/برنامه و نیاز به reload یا restart را بررسی کنید.
  • اگر مطمئن نیستید، تغییر را در محیط تست تکرار کنید و لاگ کامل را برای پشتیبانی بفرستید.
نکته طلایی: کش صفحات فاکتور و ناحیه کاربری را غیرفعال کنید تا داده خصوصی نمایش داده نشود.

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

Cache-Control و Expires چه تفاوتی دارند؟

Cache-Control دقیق‌تر و مدرن‌تر است؛ Expires تاریخ مطلق می‌دهد.

چطور کش را باطل کنم؟

با تغییر نام فایل/نسخه (cache busting) یا purge کش CDN.

سرور مناسب نیازتان را انتخاب کنید

میلاد سرور پلن‌های اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آی‌پی اختصاصی و قیمت شفاف ارائه می‌کند. برای مقایسه همه کشورها فهرست کامل سرورهای بین‌الملل را ببینید.

جمع‌بندی

این آموزش را یک‌بار روی محیط تست تمرین کنید تا در تولید با اطمینان بیشتری اجرا شود.

این آموزش برای شما مفید بود؟نظر شما به بهتر شدن آموزش‌ها کمک می‌کند.
اشتراک‌گذاری:تلگرامواتساپX