Rails 3.1 имеет удобную систему, которая может сжимать файлы в .gz файлы. Однако вместо того, что я сделал, я переместил все файлы активов, созданные с помощью активов: прекомпиляция на статический веб-сервер. Все это работает, но как я могу заставить nginx нормально обслуживать файлы .gz?
Получить NGINX для работы .gz файлов сжатых активов
Ответ 1
1) убедитесь, что у вас есть Nginx > 1.2.x(для правильных модификаций заголовков) и скомпилируйте с опцией - с-http_gzip_static_module
2) Включите эту опцию gzip на (для ответа на исходный ответ с заголовком gzip)
3) Настройте расположение ресурсов с помощью gzip_static на (чтобы напрямую обслуживать файлы all.css.gz, all.js.gz)
4) Предотвращение генерации etag и вычисление последнего изменения для активов
5) Включение правильного кэширования для кэширования 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.