Назад | Перейти на главную страницу

Невозможно использовать vmod std в Varnish 3.0.0 под Ubuntu 11.10

я бы хотел import std; и сделай немного std.syslog. Однако, когда я перезапускаю лак, компилятор VCC дает сбой:

$ sudo service varnish restart
 * Stopping HTTP accelerator varnishd                                [ OK ] 
 * Starting HTTP accelerator varnishd                                [fail] 
SMA.s0: max size 2048 MB.
Message from VCC-compiler:
Could not load module std
        /usr/lib/varnish/vmods/libvmod_std.so
        /usr/lib/varnish/vmods/libvmod_std.so: cannot open shared object file: No such file or directory
('input' Line 15 Pos 8)
import std;
-------###-

Running VCC-compiler failed, exit 1

VCL compilation failed

Я использую Ubuntu 11.10 и мою версию с лаком:

$ varnishd -V
varnishd (varnish-3.0.0 revision cbf1284)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2011 Varnish Software AS

Не std встроенный VMOD? Как я могу это решить? Спасибо.


ОБНОВИТЬ: Мне удалось обновить Varnish до 3.0.3, следуя инструкциям на их официальном сайте. Однако я до сих пор не понимаю, почему std отсутствует в 3.0.0.

Загрузите последнюю исходную версию 3.0.3 Varnish и скомпилировать это. После установки locate libvmod_std.so чтобы подтвердить, что этот модуль также установлен. Затем вы можете начать лак, чтобы проверить его на новом vcl с import std;. Для отладки можно добавить -d -d параметр в настройках по умолчанию при запуске лака в файле /etc/default/varnish. Проверьте man vmod_std подробнее о стандартном модуле лака. В этой версии у меня все работает.

Установка по умолчанию поместите файл vcl в /usr/local/etc/varnish и двоичные файлы под /usr/local/bin/varnish* и varnishd можно найти в /usr/bin/. Вам необходимо изменить следующее в файле запуска init.d /etc/init.d/varnish потому что он отличается от установки apt-get.

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/varnishd

Также измените путь к файлу vcl в /etc/default/varnish лайк

-f /usr/local/etc/varnish/default.vcl

Теперь у вас должна быть возможность запускать и останавливать недавно скомпилированный лак, как если бы вы использовали лак, установленный с помощью apt-get.

Не могли бы вы обновить лак на вашей машине с помощью этой команды:

aptitude upgrade varnish

Это должно решить проблему. Если нет, прокомментируйте и постарайтесь найти другое исправление.

Наконец-то мне удалось обновить Varnish до 3.0.3, следуя инструкциям на официальном сайте: https://www.varnish-cache.org/installation/ubuntu

Чтобы использовать репозиторий varnish-cache.org, выполните следующие действия.

  1. curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
  2. echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" | sudo tee -a /etc/apt/sources.list
  3. sudo apt-get update
  4. sudo apt-get install varnish

Они предоставляют пакеты только для выпусков LTS Ubuntu, а не для всех промежуточных выпусков. Так сказано lucid но отлично работает с oneric (11.10).

После обновления Varnish до 3.0.3 я могу sudo service varnish reload и import std; теперь работает нормально.