ПРОЕКТЫ 


  АРХИВ 


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: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Thu, 23 Jul 2009 18:35:58 +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=iRIPcIIGD0qaL1PzXUzft7hgSDKPh24mKzpw6wdGxCo=; b=vHxnlXqQl2bAzS/7KydRDMQavN2+rkwhqa7X82Yt2xYmIdkexKWRbOil2guPK3CvWl ZRomuMjc5HPs9PaZ1cxzvNM3IMub9PCWpiSzh0KyAxDGdDoKSd++BT/Uw+EItf/VGQrZ mTtvX4UTFF55jmzNMsZ/uTaV97bXNGgW3YAJA=
  • 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=vnmWfzneLrg+KdNL9mGHlPFCtW9Qq2SiAM/eX7Cun1H7WWRKBuq+o0AGhJSDDd8fdE JYCA+Tb3mhT3dH++i4DWv2TwQNY75moltG09EC19naFa+ra5x9T3HSH47SLO3m2phZ0X 5hzpZpAO5+Yr9/HjymR4odQZCNbumbQCWvFfM=
  • In-reply-to: <e3ad6170907230721mea63194o375724b735302ae@xxxxxxxxxxxxxx>
  • References: <e3ad6170907230721mea63194o375724b735302ae@xxxxxxxxxxxxxx>

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.