Мой первый конфиг nginx и загадка /images

Igor Sysoev is at rambler-co.ru
Thu Nov 12 13:06:58 MSK 2009


On Thu, Nov 12, 2009 at 03:43:12AM -0500, Greg wrote:

> Всем привет!
> У нас проект с миллионами хитов в сутки, посему задумали снять статику с апача и отдать ее nginx'у.
> До этого nginx я не использовал и это мой первый опыт.
> Вот конфиг:
> 
> server {
>         listen   1.2.3.4:80;
>         server_name  mysite.su;
> 
>         access_log  /var/log/nginx/mysite.access.log;
> 
>         location / {
>                 root   /var/www/mysite.su;
>                 index  index.html index.htm index.php;
>         }
> 
>         location ~ \.php$ {
>                 proxy_pass   http://127.0.0.1;
>                 proxy_set_header  Host mysite.su;
>         }
> 
>         location /server-status {
>             proxy_pass   http://127.0.0.1;
>         }
> 
>         location ~ \/(catalog|map|about|howto|delivery|garantiya|contacts|order|captchaim|notfound) {
>                 proxy_pass   http://127.0.0.1;
>                 proxy_set_header  Host mysite.su;
>         }
> 
> }
> 
> 
> После того, как все настроил стал смотреть server-status апача и вижу, что статика ушла, остались только запросы php-страниц и еще запросы (в этом и состоит загадка) вида 	GET /images/common/left_container/catalog/str.gif идущие со 127.0.0.1 (то есть от nginx).
> 
> Загадка для меня в том, почему nginx проксирует данный запрос к апачу, а не отдает его самостоятельно.

Потому что это запрос попадает в "location ~ \/(catalog|map|..." из-за
.../catalog/...

Нужно добавить

         location ^~ /images/ {
                 root   /var/www/mysite.su;
                 index  index.html index.htm index.php;
         }

и убрать лишний слэш (но это к проблеме не относится):

-         location ~ \/(catalog|map|...
+         location ~ /(catalog|map|...

Подробности тут:
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list