On Tue, 11 Oct 2005, Andrew Velikoredchanin wrote:
Igor Sysoev wrote:
On Mon, 10 Oct 2005, Eugeny Zadevalov wrote:
Как с фронтэнда?
В диски всё упирается одна машина не тянет,
целью ставилось распределить между несколькими серваками один контент,
разьве такая задача не так решается? Просто получилось что диски на
фронтенде тоже не кисло грузятся в режиме проксирования. Как с этим
бороться не понятно, на что я рассчитывал правда тоже не ясно :-(
Можно побпробвать такую странную схему:
Не такая уж и странная. У меня именно так и работает. :)
1 машина 3 машины
nginx -> nginx -> apache
Первый nginx передают на три машины. Вторые nginx'ы передают запрос
Апачу и получают X-Accel-Redirect, после чего медленно передают
запрос первому nginx'у. На первом nginx'е должно стоять:
У меня nginx на бэкэнде отдает распределенную статику,
X-Accel-Redirect пока не испольуется, т.к. я не совсем понимаю как его
использовать в случае когда контент распределен на несколько машин.
Например, так:
-> mod_perl
nginx1 -> nginx20
-> nginx21
-> nginx23
nginx1 передаёт запрос mod_perl, тот возвращает
"X-Accel-Redirect: /backend20/uri/", а у nginx1 настроено так:
location /backend20/ {
internal;
proxy_pass http://backend20/;
proxy_max_temp_file_size 0;
}
Не, у меня проблема в том, что заранее неизвестно на каком именно
бэкэнде находиться данный конкретный файл. Сейчас это регулируется через
возврат 404 ошибки фронтэнду пока он не найдет нужный бэкэнд.
Хотя... Что-то мне подумалось, что этот-же способ применим и с
X-Accel-Redirect - просто его нужно перенаправлять на location который
проксируется на nginx на бэкэнде. И тогда 404 естественным образом будет
возвращать nginx с бэкэнда.
Я верно мыслю?
--
Best regards, Andrew Velikoredchanin