skapunker
@skapunker
Умный

Как распределить нагрузку на несколько серверов, а чтоб картинки загружались только с 1?

Как можно организвать на следующее:
Есть 1 домен и 2 веб сервера (apache). Надо чтобы главная страница открывалась либо на сервере 1, либо на сервере 2, а все остальные страницы и картинки на сервере 1.

1. Можно ли это реализовать на уровне DNS?
2. Если нельзя, то как это сделать?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@AlexListen
админ, стаж 14 лет
1. Нет
2. Cтавить более-менее "умный" балансер, например lighttpd
Например, имеем сервер 1: ip A.A.A.A
сервер 2: ip B.B.B.B
домен: vasya.ru

Тогда на сервере 1 апач вешаем на 127.0.0.1 порт 8080
Listen 127.0.0.1:8080

Ставим lighttpd, далее в конфиге lighttpd:
server.bind = "A.A.A.A" # Вешаем lighttpd на внешний IP

# Включаем прокси модуль
server.modules = (
"mod_proxy"
}

$HTTP["host"] =~ "vasya\.ru" {
setenv.add-request-header ( "Host" => "vasya.ru" ) # добавляем HTTP заголовок
proxy.balance = "round-robin"
proxy.server = ( "(?!index\.php)" => (( "host" => "127.0.0.1", "port" => 8080 ),
( "host" => "B.B.B.B", "port" => 80)),
"\.(gif|jpg|png|ico)$" => (( "host" => "127.0.0.1", "port" => 8080 )),
"" => (( "host" => "127.0.0.1", "port" => 8080 ))
)
}

Примерно как-то так. Но вообще не понятно зачем такой изврат нужен.
man тут https://redmine.lighttpd.net/projects/1/wiki/Docs_...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы