Как создать циклические клиенты zeo с обработкой лаком

#plone #buildout #varnish

#plone #сборка #лак

Вопрос:

Я хотел бы использовать plone.recipe.varnisin buildout, чтобы настроить циклическую обработку varnish между 2 клиентами zeo. В моем buildout.cfg я попытался:

 [varnish-build]
recipe = zc.recipe.cmmi
url = http://downloads.sourceforge.net/project/varnish/varnish/2.1.3/varnish-2.1.3.tar.gz

[varnish-instance]
recipe = plone.recipe.varnish
daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
bind = 127.0.0.1:8000
balancer = round-robin
backends =
        client1:127.0.0.1:8080
        client2:127.0.0.1:8081
cache-size = 1G
  

и

 [varnish-build]
recipe = zc.recipe.cmmi
url = http://downloads.sourceforge.net/project/varnish/varnish/2.1.3/varnish-2.1.3.tar.gz

[varnish-instance]
recipe = plone.recipe.varnish
daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
bind = 127.0.0.1:8000
balancer = round-robin
backends =
        cluster:127.0.0.1:8080
        cluster:127.0.0.1:8081
cache-size = 1G
  

Ни то, ни другое не работает, они оба выдают мне «Ошибка 404 неизвестного виртуального хоста». Я могу вручную отредактировать varnish.vcl для

 director cluster round-robin {
  { .backend = { .host = "127.0.0.1"; .port = "8080"; } }
  { .backend = { .host = "127.0.0.1"; .port = "8081"; } }
}
  

и все работает так, как я хочу, за исключением того, что я хотел бы сделать это в buildout.

Я использую унифицированный установщик Plone 4.0.5, Ubuntu 10.0.4 (64-разрядная версия), Varnish 2.1.3. Есть идеи? Спасибо!

Ответ №1:

Смотрите http://pypi.python.org/pypi/plone.recipe.varnish для получения информации о балансировке нагрузки.

Вы также можете использовать пользовательский файл varnish.vcl и указать его с помощью опции ‘config’. Я обычно использую collective.recipe.template для вывода файла VCL, поскольку обычно мне все равно нужна какая-то пользовательская конфигурация.