Практическое задание

Эта задача — шаг 14 курса «Новый сервер: настройка с нуля»

Сожми скрипты и кэшируй иконки

средне~20 мин

Перед запуском магазина ускорь отдачу фронтенда. В nginx на порту 80: включи gzip для JavaScript (app.js) и SVG (logo.svg) и повесь на статику js, css и svg заголовок Cache-Control со сроком не меньше 30 дней. Главная страница должна по-прежнему открываться.

Что потренируешь:
  • nginx
  • gzip_types
  • expires
  • cache-control
  • mime.types

Разбор темы

Отдачу статики ускоряют двумя независимыми настройками nginx. Сжатие (gzip) уменьшает объём текстовых ответов на лету; по умолчанию оно касается только HTML, а остальные форматы перечисляют в gzip_types по MIME-типу — SVG тоже текст (XML) и хорошо жмётся, а уже сжатые PNG и JPEG — нет. Кэширование разрешает браузеру держать файл у себя и не спрашивать сервер: заголовок Cache-Control: max-age=… удобно проставлять директивой expires внутри location, который ловит нужные расширения. После правок конфиг проверяют nginx -t и перечитывают.

Что проверяется

  1. app.js отдаётся в gzip
  2. logo.svg отдаётся в gzip
  3. на js и svg есть Cache-Control не меньше 30 дней
  4. главная страница открывается

Как это выглядит