Re: Прозрачное кэширование в nginx
Igor Sysoev
igor на sysoev.ru
Пт Июл 29 15:30:23 UTC 2011
On Fri, Jul 29, 2011 at 10:24:35AM -0400, portos wrote:
> Всем привет.
> Собственно в чем проблема. При проверке
> сайта утилитой
> ab -n 1000 -c 100 http://www.mysite.com/ - сайт мгновенно
> падает и даже если выставить параметр -n
> 100 - ситуация та же.
> Нашел статью по решению этой проблемы:
> http://habrahabr.ru/blogs/nginx/124684/
> Все делаю как описано в статье. Вот мой
> конфиг /etc/ngnix/sites-available/000-mysite.com
>
> server {
> listen 192.168.1.1:80;
> server_name mysite.com www.mysite.com;
>
> location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/|cgi-bin/) {
> proxy_pass http://192.168.1.1:8080;
> proxy_redirect http://mysite.com:8080/ /;
> proxy_set_header Host $host;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header X-Real-IP $remote_addr;
> }
> location / {
> proxy_pass http://192.168.1.1:8080;
> proxy_redirect http://mysite.com:8080/ /;
> proxy_set_header Host $host;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header X-Real-IP $remote_addr;
>
> proxy_cache cache;
> proxy_cache_valid 10m;
> proxy_cache_valid 404 1m;
>
>
> }
> location ~*
> ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
> root /srv/d_mysite/www/mysite.com/htdocs;
> access_log
> /srv/d_mysite/www/mysite.com/logs/nginx-mysite.com-access.log;
> error_page 404 = @fallback;
> }
> location @fallback {
> proxy_pass http://192.168.1.1:8080;
> proxy_set_header Host $host;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header X-Real-IP $remote_addr;
> }
> }
>
> proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=cache:30m
> max_size=1G;
> proxy_temp_path /var/lib/nginx/proxy 1 2;
> proxy_ignore_headers Expires Cache-Control;
> proxy_cache_use_stale error timeout invalid_header http_502;
> proxy_cache_bypass $cookie_session;
> proxy_no_cache $cookie_session;
>
> После рестарта ngnix я получаю сообщение
> об ошибке:
>
> Restarting nginx: nginx: [emerg] the size 31457280 of shared memory zone
> "cache" conflicts with already declared size 0 in
> /etc/nginx/sites-enabled/000-mysite.com:36
> nginx: configuration file /etc/nginx/nginx.conf test failed
Поставьте директиву proxy_cache_path до
server {
server_name mysite.com www.mysite.com;
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru