2013-02-22 2 views
0

Позволяет сказать для простоты, поскольку я - стартап на Varnish, у меня есть один Сервер с Varnish и Apache вместе внутри. В Apache есть несколько поддоменов в качестве виртуальных хостов.Varnish VCL Setup для нескольких поддоменов с V-хостами?

Допустим, у меня есть:

  • sub1.example.com
  • sub2.example.com
  • sub3.example.com

Тогда я ТОЛЬКО изменилось в Apache httpd.conf порт до:

Listen 8080 

Опять то теперь моя установка бэкенд в VCL до сих пор:

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

Теперь мой вопрос здесь:

  • Является ли это достаточно просто для такого рода установки? Серьезно, что мне здесь не хватает?
  • Что мне еще нужно сделать, так это, во-первых, на конце Apache httpd.conf, нужно ли менять значение Listen?

Как об этом:

NameVirtualHost *:80 

, а также V.Host настройки для каждого из поддоменов:

<VirtualHost *:80> 
.. 
.. 
</VirtualHost> 
  • ли я также необходимо изменить эти порты на 8080 пожалуйста, для стороны Apache?

Наконец в конфигурации VCL, я вижу такие вроде следующего:

if (req.http.host == ".........com") { 
    .. 
} 

.. на других форумах.

  • Я НЕ иметь такой установки внутри моего VCL
  • Так что я нужна такая вещь, и/или серьезно, что я могу не хватает для моей схемы, пожалуйста?

Спасибо всем!

ответ

2

Лак будет работать на port 80. Итак, Apache должен работать на любом другом порту, затем port 80. Я лично готов использовать port 81 для Apache, так как port 8080 в норме используется Apache Tomcat.

Слушание Apache на port 81. httpd.conf (/etc/httpd/conf/httpd.conf).

Listen 81 
NameVirtualHost *:81 

Файл конфигурации по умолчанию для лака. default.vcl (/etc/varnish/default.vcl).

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

Виртуальный хост для sub1.example.net и sub2.example.net. vhosts.conf (/etc/httpd/conf.d/vhosts/example.net.conf).

# vhost : sub1.example.net 
<VirtualHost *:81> 
    ... 
    ServerName sub1.example.net 
    ... 
    <Directory "/var/www/html/vhosts/example.net/sub1/public_html"> 
    ... 
    </Directory> 
    ... 
</VirtualHost> 

# vhost : sub2.example.net 
<VirtualHost *:81> 
    ... 
    ServerName sub2.example.net 
    ... 
    <Directory "/var/www/html/vhosts/example.net/sub2/public_html"> 
    ... 
    </Directory> 
    ... 
</VirtualHost> 
+0

Awwwwn, поэтому вы подразумеваете, что порты VirtualHost должны быть такими же, как и Apache Port! Thankx! –

+0

Правильно. Целый Apache будет работать на порту 81 или любом выбранном вами порту. Лак отправит запрос с порта 80 в Apache. –

Смежные вопросы