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