ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Нужна помощь по базовому с интаксису конфига nginx


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Нужна помощь по базовому с интаксису конфига nginx
  • From: "Alex, the Marrch Ca'at" <marrch.caat@xxxxxxxxx>
  • Date: Thu, 23 Jul 2009 18:49:57 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=gjS+1qxU8BWkU+Jl+RPeNGZcrJhuxC818+9a8oof8SE=; b=Z58dzN+ICMSvdMcPkZ/m7z+aIhaSIAISuJca3d7mr+9Z7/pAlIt8g5X2kdGCMqdEGY 2t9exOMlhmse2csWDo5UTMUQmktaQMHAdcKn8pa4RW9kxu9m1eW1dqv4p1Jfu+8YKUXe tg1P6rELAgdtEHvhgGHtExXpEFlyOox+EVhPo=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=hWjk/bX23UuVkGMJRDbW0jzdU5r1NaC/imYGA4qHOCu21/QYFeFynNxpb6qVR3QqIk 8e+EVHqZrWBjdFe7VGmqsBme5oa7kDXAJbdPGBenEQqwBy2euMNEEPycj/liF8fJJN8V VLKpqV88iOmIMhby9NtBIH0ED66WcTk5vWfHM=
  • In-reply-to: <2d8fb9950907230735t6246c143w1a56ee244de6aced@xxxxxxxxxxxxxx>
  • References: <e3ad6170907230721mea63194o375724b735302ae@xxxxxxxxxxxxxx> <2d8fb9950907230735t6246c143w1a56ee244de6aced@xxxxxxxxxxxxxx>

Спасибо за помощь. Я в принципе знаю, что регулярное выражение может
содержать выделения, я только вот не понимаю - если у меня есть такой
вот примерно кофиг:
   server {
       server_name   ~^(www\.)?(.+)$;

       location ~ /([a-zA-Z]*)/([a-zA-Z]*).php$ {
           root  /sites/$2;
       }
   }
- то что окажется в $2 на момент обработки директивы root? Мне это,
увы, совершенно не очевидно :(

По остальному - да, я в курсе, что правильно делать через try_files, я
просто о том, что есть, вероятно, целый набор совершенно базовых
вещей, которые нигде структурировано не изложены. И поиск по архивам
рассылки тут, увы, мало поможет - поскольку чтобы искать, нужно очень
хорошо представлять себе, что именно ищешь. А когда чайник в nginx-е
вроде меня просто не представляет себе спектра возможностей его
конфигурирования - то никакой поиск тут не поможет, или в лучшем
случае отнимет столько времени, сколько, объективно, никто не может
себе позволить потратить на это.

С уважением -
Alex, the Marrch Ca'at.

2009/7/23 Sergey Shepelev <temotor@xxxxxxxxx>:
> 2009/7/23 Alex, the Marrch Ca'at <marrch.caat@xxxxxxxxx>:
>> Доброго всем времени суток!
>>
>> Я использую связку nginx+memcached, она обслуживает запросы,
>> приходящие на большое количество разных доменов, и соответственно - в
>> включе memcached используется имя домена. Но мне хочется, чтобы при
>> этом от имени домена автоматически отрезалось начальное "www.", если
>> оно там имеется, так, чтобы для www.mydomain.ru и mydomain.ru
>> использовался один ключ memcached. Очевидно, что нужно вместо
>> следующей инструкции:
>> set $memcached_key "Tsites::$host::Index";
>> - использовать if с регулярным выражением, который в случае наличия в
>> начале $host строки "www." будет подставлять в $memcached_key весь
>> остаток имени домена. Но вот как это правильно написать в синтаксисе
>> конфигов nginx - я не знаю, подскажите, пожалуйста.
>>
>
> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name
> Регулярное выражение может содержать выделения (0.7.40), которые могут
> затем использоваться в других директивах:
>
>    server {
>        server_name   ~^(www\.)?(.+)$;
>
>        location / {
>            root  /sites/$2;
>        }
>    }
>
>> Вообще, на сайте Игоря Сысоева я не нашел никаких описаний вот таких
>> вот базовых вещей. Собственно, даже само существование операторов if и
>> set становится ясно только из примеров конфига, а на всякие более
>> сложные вещи - например, то, что можно писать вещи вроде if (!-e
>> $request_filename) - легко можно так и не наткнуться. Не знает ли
>
> http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if
>
> И вот как раз то, что вы написали надо делать не через if, а через try_files.
> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#try_files
>
>> кто-нибудь, вдруг уже кто-то написал справку по таким вот базовым
>> моментам в конфигурации nginx? Или может, она есть на оф.сайте, просто
>> я ее не нашел?..
>
> Надо искать по архиву рассылки.
> http://www.lexa.ru/nginx-ru/
>
>>
>> С уважением и надеждой на помощь -
>> Alex, the Marrch Ca'at
>>
>


 




Copyright © Lexa Software, 1996-2009.