ПРОЕКТЫ 


  АРХИВ 


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]

nginx & ror


  • To: nginx-ru@xxxxxxxxx
  • Subject: nginx & ror
  • From: Timur Vafin <timurv@xxxxxxxxx>
  • Date: Thu, 24 Aug 2006 14:21:46 +0400
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:x-mailer:reply-to:x-priority:message-id:to:subject:mime-version:content-type:content-transfer-encoding; b=sSfr3RcreFA2XRu8Dw6xDn6AmnpBgD9Ihq0SS0icGy7s0mYVO+FiXEJaSdNx6qlZ7aKFK9H6hzaK60s35wwpOL4JW+NnwOoaioyr5aQEAG9QBYd3tKOT49QtNXARcPwwB/GZMxoLlO4Q6VSgUsmriFaLRDW/369R96J52Vf3cyw=

Здравствуйте, nginx-ru.

Хочется подружить nginx + RubyOnRails, а точнее mongrel_rails

В чем заключается задача:
 1. Все файлы не существующие в root проксировать
 2. Те что есть, отдавать без проксирования
 3. Плюс есть такая вещь как кеш, т.е. если пришел запрос
 /controller/action и в root нет такаго файла, но есть
 /controller/action.html, нужно без проксирования отдать /controller/action.html

 Попытался реализовать, но 3 пункт как то не хочет работать...

upstream  test {
    server   localhost:3000;
    server   localhost:3001;
    server   localhost:3002;
    server   localhost:3003;
    server   localhost:3004;
}

server {
    listen              tsweb.toa:81;
    server_name         test.tsweb.toa;

    # path to static files
    root                /home/timurv/work/projects/test/public;

    # for correct / requests
    index               /index.html;

    # all exists static files send with nginx
    # other proxy to mongrel
    error_page          404     = /not_found_mongrel_handler;

    location /not_found_mongrel_handler {
        set $cached_request_filename $request_filename.html;

        # вот тут почему то всегда истинное условие
        if (!-f $cached_request_filename) {
            proxy_pass  http://test;
            break;
        }

        rewrite     ^(.*)$  $1.html;
    }
}
 

-- 
С уважением,
 Timur                          mailto:timurv@xxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.