ПРОЕКТЫ 


  АРХИВ 


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: Проблемы переменных в п утях лог-файлов



On Mon, May 09, 2011 at 11:30:21AM -0400, skinc wrote:
> Доброго времени суток.
> Пытался в nginx/1.0.1 вынести Joomla-зависимый
> кусок конфига в отдельный файл, для
> облегчения добавления/изменения
> сайтов с данной CMS следующим образом:
> 
> ----- Секция Server в nginx.conf -----
> 
> server {
>    listen   80;
>    server_name   example.com;
> 
>    set   $home /home/www/example.com;
>    root   $home/www;
>    include   joomla_params;
> 
>    location / {
>       try_files   $uri $uri/ @joomla;
>    }
> }
> 
> ----- Файл joomla_params -----
> 
> error_log   $home/log/error.log;
> access_log   $home/log/access.log main;
> 
> index index.php;
> 
> location ~ \.php$ {
>    include   fastcgi_params;
>    fastcgi_pass   unix:$home/php-fpm.sock;
>    fastcgi_param   SCRIPT_FILENAME   /www$fastcgi_script_name;
>    fastcgi_param   DOCUMENT_ROOT   /www;
> }
> 
> location @joomla {
>    include   fastcgi_params;
>    fastcgi_pass   unix:$home/php-fpm.sock;
>    fastcgi_param   SCRIPT_FILENAME   /www/index.php;
>    fastcgi_param   SCRIPT_NAME   /index.php;
>    fastcgi_param   DOCUMENT_ROOT   /www;
> }
> 
> ----- Конец конфига -----
> 
> Как выяснилось не работает по
> следующим причинам:
> 1. error_log вообще не поддерживает
> переменных - ошибка "nginx: [emerg] open()
> "/$home/log/error.log" failed (2: No such file or directory)"

Да.

> 2. access_log добавляет префикс (${prefix}), если
> путь не начинается с символа "/" ("/$home"),
> несмотря на то, что в значении
> переменной он присутствует ("set $home
> /home/www/example.com;").

У access_log с переменными в имени куча ограничений:
http://sysoev.ru/nginx/docs/http/ngx_http_log_module.html#access_log

error_log и access_log можно определять на уровне сервера и они
унаследуются во все location'ы. С fastcgi_pass так не получится.


-- 
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.