2016-11-07 7 views
1

Мне было интересно, есть ли лучший способ определить путь активов в nginx. Например, я хочу, чтобы nginx обслуживал активы в подпапках. Пока я использую эту технику, которая не выглядит очень сухой для меня.nginx активы в подпапках

location ^~ /assets/ { 
    gzip_static on; 
    expires max; 
    add_header Cache-Control public; 
} 

location ^~ /assets/downloads { 
    gzip_static on; 
    expires max; 
    add_header Cache-Control public; 
} 

Не могли бы вы предложить что-то лучшее для папок в папке с ресурсами? Заранее спасибо.

ответ

2

Ваша конфигурация почти права (для чего вы пытаетесь достичь). Так как у меня нет полной конфигурации, я думаю, решение:

location ^~ /assets/ { 
    alias /absolute/path/to/assets/; 
    gzip_static on; 
    expires max; 
    add_header Cache-Control public; 
} 

Обратите внимание на alias директиву (а также завершающий слэш по абсолютному пути). Это говорит NGINX взять URI и перезаписать каталог активов (поиск в подпапках). Это похоже на использование root и try_files при обслуживании содержимого. Для разниц между root и alias см. Это link.

+0

спасибо. Я тестировал его на своем рельсовом приложении, и это сработало! Именно этого я и искал. Принял ваш ответ. Хорошего дня. –

+0

Я рад, что смогу помочь. Вам тоже хорошего дня! –