Получите NGINX для обслуживания сжатых файлов активов .gz с Unicorn - PullRequest
1 голос
/ 21 марта 2012

Я хочу активировать сжатие gzip в моем nginx и единороге:

У меня это есть в приложении rails в config / unicorn.rb:

working_directory "/home/user/project.com/current"
shared_path  = '/home/user/project.com/shared'
pid "#{shared_path}/pids/unicorn.pid"
stderr_path "#{shared_path}/log/unicorn.log"
stdout_path "#{shared_path}/log/unicorn.log"
listen '/tmp/unicorn.project.sock'
worker_processes 2
timeout 30

IУ меня есть это в моем nginx.conf в моем приложении rails:

upstream unicorn {
 server unix:/tmp/unicorn.project.sock fail_timeout=0;
}

 server {
       listen 80 default;
       root ~/project.com/current/public;
       try_files $uri/index.html $uri @unicorn;

       location @unicorn {
                           proxy_pass http://unicorn;
                         }
 error_page 500 502 503 504 /500.html;
}

Как включить этот конфиг, например:

  gzip_static on;
  expires max;
  add_header Cache-Control public;

Спасибо!

Ответы [ 2 ]

5 голосов
/ 22 марта 2012

Добавить в server { } блок в вашей конфигурации:

location ~ ^/(assets)/  {
  root /path/to/public;
  gzip_static on; # to serve pre-gzipped version
  expires max;
  add_header Cache-Control public;
}

Оформить заказ Направляющие рельсов для получения дополнительной информации.

1 голос
/ 22 марта 2012

Это то, что у меня есть в моем nginx.conf для gzip:

gzip on;
gzip_buffers 16 8k;
gzip_comp_level 9;
gzip_http_version 1.0;
gzip_min_length 0;
gzip_types text/plain text/css image/x-icon image/png image/jpg image/jpeg text/js text/php application/javascript application/x-javascript;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable     "MSIE [1-6]\.";

Вы также можете записать сжатие gzip:

log_format main
        '$remote_addr - $remote_user [$time_local] '
        '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';
...