ПРОЕКТЫ 


  АРХИВ 


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: Баг с location в nginx-devel-0. 7.42 ?



Igor Sysoev wrote:
On Wed, Mar 18, 2009 at 12:12:22AM +0200, Konstantin Belov wrote:

P. S. рут задается переменными, потому что так легче управлять конфигурацией при большом кол-ве шаблоных хостов.

А какой рут для "location ~* \.(jpg|jpeg|gif|css|js|png)$" ?

Вообще, конфигурацию можно переписать так:

       location / {
               root   /var/home/enews/www/public_html;
               index  index.php index.html;
       }

       location ~ \.php$ {
               root   /www/public_html;
               fastcgi_pass unix:/tmp/enews.sock;
               include /usr/local/etc/nginx/fastcgi.conf;
       }

       location ~* \.(jpg|jpeg|gif|css|js|png)$ {
               root   /var/home/enews/www/public_html;
               access_log   off;
               expires      30d;
       }

и использовать fastcgi.conf $document_root.



Сейчас такой:

location ~* \.(jpg|jpeg|gif|css|js|png)$ {
        root         $root_prefix$root;
        access_log   off;
        expires      30d;
}

Просто перед оптравкой письма несколько раз конфиг правил (странно, что сразу не заметил ошибку с root),
поэтому строчка и затерялась.



Если root наследуется location от server, то может лучше уже так:

        
root   /var/home/enews/www/public_html;

location / {
        index  index.php index.html;
}

location ~ \.php$ {
        root   /www/public_html;
        fastcgi_pass unix:/tmp/enews.sock;
        include /usr/local/etc/nginx/fastcgi.conf;
}

location ~* \.(jpg|jpeg|gif|css|js|png)$ {
        access_log   off;
        expires      30d;
}



/usr/local/etc/nginx/fastcgi.conf:
        fastcgi_connect_timeout 3;
        fastcgi_send_timeout 10;
        fastcgi_index   index.php;
        fastcgi_param   DOCUMENT_ROOT   $root;
        fastcgi_param   SCRIPT_FILENAME $root$fastcgi_script_name;
        fastcgi_param   PATH_TRANSLATED $root$fastcgi_script_name;
        fastcgi_param   QUERY_STRING    $query_string;
        fastcgi_param   REQUEST_URI     $request_uri;
        fastcgi_param   REQUEST_METHOD  $request_method;
        fastcgi_param   CONTENT_TYPE    $content_type;
        fastcgi_param   CONTENT_LENGTH  $content_length;
        fastcgi_param   SERVER_ADDR     $server_addr;
        fastcgi_param   SERVER_PORT     $server_port;
        fastcgi_param   SERVER_PROTOCOL $server_protocol;
        fastcgi_param   SERVER_NAME     $server_name;
        fastcgi_param   REMOTE_USER     $remote_user;
        fastcgi_param   REMOTE_ADDR     $remote_addr;
        fastcgi_param   REMOTE_PORT     $remote_port;
        

        
Почему было сделано именно так, я уже сказать не могу (конфиг был написан очень 
давно).
Сейчас просто автоматически создаются vhost.conf (для каждого нового хоста) на 
основе шаблона
и подключаются через include в nginx.conf






 




Copyright © Lexa Software, 1996-2009.