Re: nginx.conf: массив в location

Igor Sysoev igor на sysoev.ru
Чт Фев 10 22:37:13 MSK 2011


On Feb 10, 2011, at 22:07 , grigory wrote:

> У меня отдаётся с сервера куча статики.
> Но появилось штук 30 файлов, которые
> трафика на 150 Мбит/с "кушают", посему я
> решил переместить их на "дружественные"
> файл-хостинги, а у себя в nginx сделать
> rewrite на другой адрес. Всё равно
> файл-хостинг — побочная функция на
> моём сервере. В общем, всё работает
> отлично, но держать 30 location записей в
> конфиге как-то неприятно. Тем более, что
> в неделю кол-во таких записей вырастает
> на 2-3.
> 
> Вопрос: можно ли как-то оформить массив
> ключ-значение, чтобы прописать один
> локейшн для 30 файлов? Ну или как-то
> по-другому решить проблему эту? Сейчас
> для одного файла в конфиге пишется 3
> строки вида:
> 
> location = /img1/filename.gif {
>    rewrite ^(.*)$ http://img96.imageshack.us/img141/1351/filename.gif;
> }
> 
> Может, я криво решаю проблему, и есть
> более изящное решение?

map здесь не поможет. Можно вынести эти location'ы в
отдельный файл, чтобы глаза не мозолили, а файл за-inlcude-ить.
Если у всех location'ов точное совпадение, то работать
будет быстро и на остальную конфигурацию влиять не будет.


--
Igor Sysoev
http://sysoev.ru/en/


Подробная информация о списке рассылки nginx-ru