Re: Нужна помощь по базовому синтаксису конфига nginx
Sergey Shepelev
temotor at gmail.com
Thu Jul 23 18:35:58 MSD 2009
2009/7/23 Alex, the Marrch Ca'at <marrch.caat at gmail.com>:
> Доброго всем времени суток!
>
> Я использую связку 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
>
More information about the nginx-ru
mailing list