Как мне разместить Apache и Nginx за Varnish?

Как мне разместить Apache и Nginx за Varnish?

У меня есть настройка, в которой Varnish прослушивает порт 80 за Apache на порту 8080, в то время как я собираюсь использовать Nginx на порту 8081. Панель управления моего VPS поддерживает только Apache, но я хочу протестировать один из сайтов, размещенных на моем VPS, на Nginx, и поскольку Varnish уже использует порт 80, я не могу использовать Nginx на том же порту.

Я не хочу полностью избавляться от Apache, так как он мне все еще нужен для доступа к панели управления моего VPS.Сентораесли быть точным, где Apache находится на 8080. В заданном вопросездесь, автор публикации хотел иметь два разных домена на разных IP-адресах только на Apache, так что это не особо помогает.

Также я где-то читал об использовании server.portдирективы в моем vcl, но я не уверен, как это сделать. Вот как default.vclвыглядит часть моего:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

PS: Я еще не установил Nginx.

решение1

Здесь вы хотите настроить дополнительный бэкэнд в Varnish и направлять на него некоторые запросы.

Сначала добавьте новый бэкэнд для Nginx:

backend nginx {
    .host = "127.0.0.1";
    .port = "8081";
}

Затем вы можете направить некоторые запросы к нему. Обычно это делается в vcl_recvподпрограмме. Например, если доступ к Sentora осуществляется через домен sentora.example.org:

sub vcl_recv {
    if (req.http.host ~ "(?i)^sentora.example.org$") {
        # Route requests to sentora.example.org to the old Apache backend.
        set req.backend = default;
    } else {
        # Everything else to nginx.
        set req.backend = nginx;
    }
}

ВидетьРасширенная конфигурация бэкэндадля большего количества примеров. Также есть много примеров вЯзык конфигурации лакадокументация.

Связанный контент