Баг с location в nginx-devel-0.7.42 ?

Konstantin Belov belov1985 at gmail.com
Wed Mar 18 15:23:19 MSK 2009


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








More information about the nginx-ru mailing list