Баг с 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