LINUX.ORG.RU
ФорумAdmin

apache proxy -> lighttpd


0

0

имеется ВПС
на ней запущен апач
под ним крутится сервис
требуется папочку /uploads/ запроксить на lighttpd - чтобы полегче раздавались большие файлы (файлы по 100 - 300 мегов там лежат)

в апаче сделано:
ProxyPass /uploads/ http://127.0.0.1:8080/
ProxyPassReverse /uploads/ http://127.0.0.1:8080/

lighttpd запущен и нормально ловит запросы и раздает эти большие файлы

но постоянно в апаче появляется
[Tue Nov 10 03:34:11 2009] [error] (105)No buffer space available: proxy: HTTP: attempt to connect to 127.0.0.1:8080 (127.0.0.1) failed
[Tue Nov 10 03:34:11 2009] [error] ap_proxy_connect_backend disabling worker for (127.0.0.1)
[Tue Nov 10 03:34:11 2009] [error] proxy: HTTP: disabled connection for (127.0.0.1)
[Tue Nov 10 03:34:12 2009] [error] proxy: HTTP: disabled connection for (127.0.0.1)
[Tue Nov 10 03:34:21 2009] [error] proxy: HTTP: disabled connection for (127.0.0.1)

в этот момент lighttpd не ожидает, что к нему все конекты закрывают принудительно сходит на время сума, и грузит проц на 100%

после чего апач и лайти приходят в себя
некоторое время работают нормально.
минут или две
и опять все повторяется.

количество TCP сокетов для ВПС подкрутил уже до 3.000 (было 360 по умолчанию)
но это вообще никак не помогает

помогите, куда копать?


Совсем дурная идея ставить apache перед lighttpd и раздавать болшие файлы

lighttpd повесть на другой порт или ip и добавить rewrite rule типа
RewriteRule ^(/uploads/.*) http://domain:port/$1 [R=301,L]

tungus
()
Ответ на: комментарий от tungus

сделано прям тоже самое, только через ProxyPass

дурной тон - согласен. но так получилось. сейчас нет возможности исправлять. есть возможность только костыль вставить

сейчас попробуй через реврайт.рул сделать. в целом нормально звучит, должно сработать.

m604
() автор топика
Ответ на: комментарий от m604

а что, нормально сработало! =)
весь трафик ушел на лайти, апач только успевает реврайтрул перекидывать туда.

спасибо большое!

вот любопытно только, из спортивного интереса, как апача заставить работать в прокси режиме

m604
() автор топика

впереди ставят легкий сервер типа лайти или nginx и уже за ним apache, вы все наоборот делаете :-\

hizel ★★★★★
()
Ответ на: комментарий от power

>Готов поспорить, все дело в куче апачевых rewrite`ов, которые никто не собирается переписывать :)

Так они нисколько не мешают Апачу сидеть за лёгким фронтэндом.

KRoN73 ★★★★★
()
Ответ на: комментарий от power

>Вернее, не помешают - придется конфигурить лайти

Зачем? В простейшем случае для начала можно вообще всё тупо редиректить в Апач. Выигрыш будет на буферизации для тормозных соединений. Потом можно перевести простую статику. Опять же, вряд ли она в реврайтах сидит. И уже только затем можно начать переписывать реврайты, разгружая Апач и нагружая фронтенд :)

KRoN73 ★★★★★
()
Ответ на: комментарий от power

Под простейшим случаем имеется в виду простейший способ установки фронтенда перед навороченным случаем Апача :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

подскажите пожалуйста, как в лайти прописать полный редирект на апача, кроме папочки /uploads/?

я попробую сделать, посмотрю какие будут показатели

даже любопытно какой вариант работоспособней окажется.

m604
() автор топика
Ответ на: комментарий от m604

подскажите пожалуйста, как в лайти прописать полный редирект на апача, кроме папочки /uploads/?

Что-то типа

url.rewrite-once = (
    "^/uploads/.*" => "$0",
)

# а дальше - редирект всего на Апач, по памяти не помню, доку ковырять влом :)
KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.