Nginx и правила реврайтов

fixxxer

К.О.
Партнер клуба
Т.е. ты реврайты не используешь в принципе? Т.е. реврайты в принципе зло?
Использую только в такой форме:

location /foo/bar/ {
location ~ ^/foo/bar/(?<id>\d+) {
rewrite ^ /id/$id last;
}
}

И то очень редко (по сути, это уже заглушка).

Передавать параметры в приложение гораздо проще в явном виде, благо nginx - единственный сервер, в котором можно нормально пользоваться fastcgi - fastchi-параметры собирать можно из любых переменных.

Прописывать location-ы гораздо нагляднее, чем реврайт-правила. Разница примерно как между структурным программированием и пачкой goto.

Если на верхнем уровне расположить только location-ы без регулярных выражений (или свести их к минимуму), а все регулярки поместить во вложенные location-ы, любая конфигурация nginx будет работать достаточно быстро независимо от роста числа location-ов: поиск по префиксному дереву достаточно быстрый.

Отсутствие поддержки <Location> в .htaccess приучило всех легко читать реврайты, и они не кажутся уже чем-то диким и ненормальным. Чтобы понять ненормальность подхода с реврайтами, надо, например, попробовать заменить сложный конфиг postfix-а на sendmail. :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
atv он минуты за 3 пишется

интересней реализация релоада nginx-а при коммите/аплоаде нового конфига
 

fixxxer

К.О.
Партнер клуба
Да ничего интересного. Одна дополнительная инструкция в процедуре деплоя и одна строчка в sudoers.

А кто деплоит ручками тот ССЗБ. :)
 

HraKK

Мудак
Команда форума
jenkinks и смена активного порта(папки) вам в помощь)

И да, я тоже юзаю location в 99% случаях.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
sudoers делаю, а вот с инструкцией я еще не разобрался
а пора бы
 

fixxxer

К.О.
Партнер клуба
Да возьми phing какой-нить.

Хотя, я вообще генерацией шелл скрипта обхожусь.
 
Сверху