я бы хотел 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, выполните следующие действия.
curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install varnish
Они предоставляют пакеты только для выпусков LTS Ubuntu, а не для всех промежуточных выпусков. Так сказано lucid
но отлично работает с oneric
(11.10).
После обновления Varnish до 3.0.3 я могу sudo service varnish reload
и import std;
теперь работает нормально.