shoorick: (Default)
[personal profile] shoorick
По результатам гуглений и бубнений настроил nginx и каталист для совместной работы. В нгинксовом конфигурационном файле в моём случае надо указать, что фронтенд должен передать бэкенду не только своё имя, но и порт:
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_set_header   X-Forwarded-Host $http_host;
proxy_set_header   X-Forwarded-Port $http_port;
Это связано с тем, что оба работают на одной машине на разных портах. А каталистовому приложению надо сказать, что оно может быть спрятано от внешнего мира за прокси-сервером. Существуют разные методы, простейший из них — добавить в конфигурацию параметр using_frontend_proxy, равный единице. Чтобы не засорять модули, добавит его в конфиг.yml — это проще всего и вполне работоспособно.

Если не сделать такой настройки, то каталистовая функция uri_for будет возвращать ссылки на адреса бэкенда, который посетителю показывать совсем не надо.

Теперь осталось убедиться в корректной работе получившейся связки, проверить способность нгинкса к старту при загрузке системы — и можно будет запускать весь этот комбайн в космос боевую эксплуатацию.

Date: 2010-01-19 11:23 am (UTC)
From: [identity profile] duke-66rus.livejournal.com
а зачем тебе апач. нгинкс и сам отлично с перлом дружит вроде как

Вроде как

Date: 2010-01-19 11:58 am (UTC)
From: [identity profile] shoorick.livejournal.com
Я тут пробовал измерить производительность — почему-то апач оказался всех шустрее. Кроме того, где-то в интернетах (с ходу адрес не скажу) попадалось, что поддержка перла нгинксом пока экспериментальная и лучше ей не пользоваться.

Re: Вроде как

Date: 2010-01-19 12:08 pm (UTC)
From: [identity profile] duke-66rus.livejournal.com
забавно )
а в чем там результат то?

шустрей все же статику через memcahed отдавать ;)

В чём результат

Date: 2010-01-19 01:00 pm (UTC)
From: [identity profile] shoorick.livejournal.com
В скорости обработки запросов. Понятно, что статику раздаёт нгинкс (или апач, если нгинкс не трогать), и делает это хорошо.

Тестировал при помощи ab, посланного терзать сервер в несколько потоков. Основные тормоза получаются с работой динамической части — страниц, создаваемых каталистовым приложением. Я попробовал разные способы запуска этого приложения (каталистовым отладочным сервером, каталистовым отладочным сервером через Catalyst::Engine::HTTP::Prefork, через FastCGI, апачем с модперлом, нгинксом, работающим как прокси к некоторым из первых четырёх методов) — апач оказался на первом месте по скорости.

Re: В чём результат

Date: 2010-01-19 01:12 pm (UTC)
From: [identity profile] duke-66rus.livejournal.com
у меня апач всегда дольше думал чем nginx иногда даже раз в 20-40 дольше при мемкешед ))

А апач то какой 1.х? 2.х?

Re: В чём результат

Date: 2010-01-19 05:02 pm (UTC)
From: [identity profile] shoorick.livejournal.com
Первый апач. И мод_перл соответствующий.

В чём там результат

Date: 2010-01-19 05:02 pm (UTC)
From: [identity profile] shoorick.livejournal.com
Там каталистовое приложение. БД — MySQL через DBIx::Class, шаблонизатор
— Template::Toolkit. В сумме получаются весьма существенные тормоза:
производительность порядка 10 запросов в секунду, имхо, чрезмерно мала
(при том, что нгинкс способен отдавать несколько тысяч мелких статичных
файлов в секунду).

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 21st, 2026 12:43 pm
Powered by Dreamwidth Studios