На вашому сервері використовується популярний набір програмного забезпечення у вигляді панелі управління ISPManager, веб-сервера Apache і nginx в якості www-прискорювача?
Зверніть увагу на те, що nginx не віддає заголовки Expires. Якщо для згенерованих інтерпретатором PHP документів це не завжди важливо, то статичні дані бажано віддавати з подібним заголовком, дозволяючи броузерам відвідувачів більш активно використовувати кешування.
Є два варіанти, як домогтися видачі заголовка Expires.
Якщо у Вас мало сайтів, то в текстовому редакторі відкрийте nginx.conf (в Linux-системах він зазвичай розташовується в /etc/nginx/, в FreeBSD – /usr/local/etc/nginx/), знайдіть конфігураційний блок server {} для Вашого віртуального хоста. В даному конфігураційному блоці є розділ location для обробки статичних докуменов. Саме в цьому блоці додайте рядок expires Xd, де Х - кількість днів валідності даних. Наприклад, expires 7d вкаже браузеру, що зображення і файли CSS/JS можна кешувати протягом тижня.
В кінцевому підсумку у Вас блок location буде виглядати приблизно так:
1 2 3 4 5 6 7 |
location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root /var/www/username/data/www/usernamesite.ru; access_log /var/www/nginx-logs/usernamesite isp; access_log /var/www/httpd-logs/usernamesite.ru.access.log ; error_page 404 = @fallback; expires 7d; } |
Друге завдання - навчити панель вказувати параметр expires для статики у всіх віртуальних серверів в файлі конфігурації nginx. Для цього створюємо файл /usr/local/ispmgr/etc/server.templ наступного змісту:
1 2 3 |
location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { expires 7d; } |
Перезавантажуємо панель (killall ispmgr), створюємо новий вебсайт через ISPManager і перевіряємо, що параметр expires коректно вказано в описі свіжо створеного сайту в файлі nginx.conf.
Немає коментарів
Ви можете залишити коментар першим.