Re: Fwd: Регексповый server_name
On Thursday 07 March 2013 21:44:28 Daniel Podolsky wrote: Писать скрипты. А есть ли замеры того, сколько ест одна конфигурация, и другая? Я вот довольно широко регексмы использую (но у меня иначе и никак). Если я правильно понял вопрос, то это зависит от самой конфигурации и количества модулей, с которыми скомпилирован nginx. Каких-то точных чисел тут быть не может. я скорее не про точные числа, а про сравнение производительности конфигурации на регекспах с конфигурацией на статических именах. что-то мне подсказывает, что разбор заголовков - достаточно тяжелая операция, чтобы один регехп на этом фоне просто потерялся. Один регэксп у вас повлечет кучу логики с переменными из него. Речь идет не о том, что быстрее, а о том, что не нужно программировать на конфигах и поддерживать несколько простых конфигураций проще, чем одну с кучей сложной логики. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Fwd: Регексповый server_name
On Friday 08 March 2013 20:48:42 Daniel Podolsky wrote: Один регэксп у вас повлечет кучу логики с переменными из него. Или нет. Если группа(ы) из регекспа используются только для установки root - конфиг только читабельнее станет от их применения. Другое дело, что матчинг с группировкой может оказаться все же существенно медленнее выбора по дереву. Провести, что ли, самому соответствующие тесты?.. Взять тысячу сайтов, и прогнать миллион запросов, через один конфиг и через другой. И померять загрузку... Это бессмысленно. Регулярное выражение вида: ^([^.]+)\.([^.]+)\.example\.com$ скорее всего будет быстрее, чем поиск по дереву из тысячи доменов. В любом случае, на фоне всех остальных операций - это неизмеримо малая величина. К примеру, на моем мобильном i3-350m указанное регулярное выражение выполняется в среднем за 400 наносекунд без использования JIT, и менее чем за 100 наносекунд с JIT. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Fwd: Регексповый server_name
On Thursday 07 March 2013 20:12:09 Юрий Гончаров wrote: Здравствуйте есть инфраструктура /lab/user1/project1 /lab/user1/project2 /lab/user1/project3 /lab/user1/project4 /lab/user2/someproject1 /lab/user2/someproject2 и т д Есть ли возможность в nginx для каждого user1 создавать один умный server_name и root для работы...что-то типа server { listen 80; server_name $project.user1.lab.domain.com; location / { root /lab/user1/$project; } } Или все же писать скрипты которые будут генерить конфиги? Писать скрипты. -- Валентин Бартенев http://nginx.org/en/donation.html ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Fwd: Регексповый server_name
Писать скрипты. А есть ли замеры того, сколько ест одна конфигурация, и другая? Я вот довольно широко регексмы использую (но у меня иначе и никак). ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Регексповый server_name
server { listen 80; server_name ~^(?project.+)\.(?user.+)\.example\.net$; root /var/www/$user/$project/public; } Как следствие project1.user1.example.net = /var/www/user1/project1/public Или я не понял вопроса? On 7 Mar 2013, at 17:12, Юрий Гончаров n...@miritec.com wrote: Здравствуйте есть инфраструктура /lab/user1/project1 /lab/user1/project2 /lab/user1/project3 /lab/user1/project4 /lab/user2/someproject1 /lab/user2/someproject2 и т д Есть ли возможность в nginx для каждого user1 создавать один умный server_name и root для работы...что-то типа server { listen 80; server_name $project.user1.lab.domain.com; location / { root /lab/user1/$project; } } Или все же писать скрипты которые будут генерить конфиги? Спасибо! -- NEO83-RIPE ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru smime.p7s Description: S/MIME cryptographic signature ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru