Previous Entry Поделиться
Игорь Сысоев: маштабируемая конфигурация nginx
abarmotik


Тезисы:



Локейшны бывают трех видов:

  • строковые

    • location /dir/ {...} — соот-вие по префиксу (/dir/photo/123.jpg)

    • location = /dir/counter.js {...} — строгое соот-вие

    • location ^~ /dir/ {...} — соот-вие по префиксу с запретом проверки
      регэксп-локейшнов


  • регэкспы

  • именованнве



Для поиска совпадения из строковых локешнов строится дерево и ищется максимальное совпадение.
Затем проверяются регэксп-локейшны (если это не отменил строковый локейшн).

Желательно весь конфиг делать на основе строковых локейшынов!


Если это это невозможно — постараться сделать вложенные локейшны (регэксп вложить в строковый):

location /i/ {
    location ~* \.(gif|jpg|jpeg)$ { ... }
}




Отличие root и alias:

location /img/ {
    #  '/' в конце роли не играет
    root /home/x/content;
}

img/leftArrow.png → /home/x/content/img/leftArrow.png

location /img/ {
    #строковая замена! обращать внимание на '/' в конце.
    alias /home/x/content/; 
}

/img/leftArrow.png → /home/x/content/leftArrow.png
Метки:

?

Log in