همینطور که میدونید سرعت لود سایت یکی از پارامتر های مهم برای گرفتن نتیحه توی سئو و رضایت کاربر هست.اما برای اینکار ما توی مرحله اول نیاز بریم به سراغ سرویس های کش قوی و پیشرفته و اگر وب سرور ما nginx باشه میتونیم تا حد بسیار قابل قبولی سرعت لود وبسایتمون رو بهبود ببخشیم.اگر شما هم از وب سرور nginx استفاده میکنید و سرعت لود وبسایتتون اونقدری که فک میکنید عالی نیست،با ادامه این مقاله با من همراه باشید.
خب ما قراره فایل های استاتیک خودمون یعنی html,css,js,image,font و این سری موارد رو کش کنیم تا کاربر هربار لازم نباشه بیاد و این محتویات تکراری رو دانلود کنه.با همین کار ساده میتونیم سرعت لود وبسایمون رو بهبود بدیم.اما خب چطوری انجامش بدیم؟
مرحله اول:
وارد فایل کانفیگ nginx خودتون بشید.اگه سرور شما ابونتو هست احتمالا فایل کانفیگ شما توی ادرس زیر هستش.
/etc/nginx/sites-available/default
ابتدا این فایل رو با nano یا هر ادیتور دیگه ای باز کنید.شما باید چیزی شبیه به کانفیگ زیر رو مشاهده کنید توی این صفحه:
این یک کانفیگ ساده nginx هستش،ممکنه کانفیگ شما طولانی تر باشه اما مهم نیست و ما قرار نیست چیزی رو تغییر بدیم(اما پیشنهاد میکنم قبل از انجام ادامه مراحل یک کپی از این فایل داشته باشید تا در صورت خطا بتونید به نسخه قبل برگردید)
خب ما باید این خطوط رو به فایل کانفیگ خودمون اضافه کنیم تا فایل های استاتیک برامون کش بشه.
شما میتونید این کانفیگ رو از این آدرس دنبال کنید و از محتویاتش استفاده کنید.هیمنطور که توی مشاهده میکنید برای هربخش ما یک expires داریم که تاریخ انقضا یا به اصطلاح حذف شدن این دیتاهای استاتیک از کش nginx هستش.شما میتونید این موارد رو تغییر بدید در صورت نیاز.برای مثال برای فایل های css,js تاریخ یک ساله ست شده و برای فایل های مدیا تاریخ یک ماهه.
خب کارمون تموم هست و میتونیم یک بار nginx رو ریستارت کنیم تا تغییرات اعمال بشه و نتیجه کارمون رو بررسی کنیم.برای ریستارت کردن nginx میتونید از دستور زیر استفاده کنید.
sudo service nginx restart
?حالا وقتشه ادرس سایتتون رو توی مرورگر وارد کنید و از سرعت لود جدیدتون لذت ببرید(البته که سرعت لود برای دفعه اول روی هر مرورگر ممکنه مثل قبل باشه و کند باشه،چون در مرتبه اول یک بار باید این دیتاها گرفته شه و روی مروگر کاربر کش بشه.اما از دفعات بعد دیگه این اطلاعات هربار گرفته نمیشه و سرعت تغییر چشم گیری میکنه).
لینک کانفیگ استفاده شده:
https://github.com/afshintavakolian/nginx-caching-example/blob/main/nginx-caching.conf
ممنون از اینکه با من همراه بودید،امیدوارم که براتون کاربردی بوده باشید.اگه سوالی بود توی کامنت ها در خدمتم:)