Получите NGINX для обслуживания сжатых файлов ресурсов .gz

Rails 3.1 имеет удобную систему, которая может сжимать файлы в файлы .gz. Однако вместо этого я Готово, я переместил все файлы ресурсов, созданные с помощью assets: precompile, на статический веб-сервер. Все это работает, но как я могу заставить nginx нормально обслуживать файлы .gz?

29
задан matsko 5 August 2011 в 07:02
поделиться

1 ответ

1) убедитесь, что у вас Nginx> 1.2.x (для правильной модификации заголовков) и скомпилируйте с опцией - with-http_gzip_static_module

2) Включите эту опцию gzip on (для обслуживания внутреннего ответа с заголовком gzip)

3) Настройте расположение ресурсов с помощью gzip_static в (для обслуживания all.css.gz, all.js. gz файлы напрямую)

4) Предотвращение генерации etag и расчета последней модификации для активов

5) Включите правый элемент управления Cache для кэширования статических активов, обслуживаемых SSL, если только они срок его действия истечет после закрытия браузера

  location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
      gzip_static on;
      expires     max;
      add_header  Cache-Control public;
      add_header  Last-Modified "";
      add_header  ETag "";
  }

, если вы хотите получить полную конфигурацию Nginx, вы можете увидеть эту суть на Github .

open_file_cache помогает вам кэшировать: открытые файловые дескрипторы, их размеры, время модификации и поиск в каталогах, что полезно для высокой нагрузки на файловую систему.

ОБНОВЛЕНИЕ: Если вы живете на грани, включите SPDY, чтобы усилить соединение SSL.

59
ответ дан 28 November 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: