[По-видимому, я выполнял varnishd как корень]
Теперь, я получаю это:
[gideon@mywebsite ~]$ sudo varnishd -f /etc/varnish/default.vcl -s malloc,128m -T 127.0.0.1:2000 -a 0.0.0.0:8000 -d
[sudo] password for gideon:
Platform: Linux,2.6.32-358.6.2.el6.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
200 284
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,2.6.32-358.6.2.el6.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
varnish-3.0.7 revision f544cd8
У меня есть ОЧЕНЬ простая установка. Работа Веб-приложения Perl 0.0.0.0:5000
и я хочу, чтобы лак кэшировал это. Система является виртуальной "капелькой" (или VM) на http://www.digitalocean.com. Машина является полем CentOS.
Внутри /etc/sysconfig/varnish/
Я имею:
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-u varnish -g varnish \
-S /etc/varnish/secret \
-s malloc,128m"
Внутри /etc/varnish/default.vcl
Я имею:
backend default {
.host = "0.0.0.0";
.port = "5000";
}
Я попробовал много вещей никакая удача. (Перезапуски, альтернатива конфигурируется и т.д.), я могу получить доступ к своему приложению в веб-сайте com:5000 очень хорошо.
Это - то, что я получил, когда я использовал varnishd
:
$varnishd -f /etc/varnish/default.vcl
-s malloc,128m -T 127.0.0.1:2000 -a 0.0.0.0:80 -d
Failed to create ./vcl.jAoXC8Rf.c: Permission denied
Я пытался искать различные сообщения, (некоторые на SF) весь вывод к тупикам или решениям для совершенно других ситуаций.
Я держал пари, что существует что-то очень простое, которое я делаю неправильно, но я даже пошел на грани уничтожения моей машины, начинающейся от чистого VM, установив жемчуг и модули, в которых я нуждаюсь, затем получил мою работу приложения, затем установил ОСНОВНУЮ установку лака из документов. Я сделал это ДВАЖДЫ!
Любая справка и указатели будут цениться чрезвычайно.
Разрешения на каталог, в который varnish компилирует vcl, Ubuntu использует / var / lib / varnish / Попробуйте chmod 666 -R / var / lib / varnish /
Из вашего кода выше вы не работаете как root, попробуйте протестировать как root или с помощью sudo. Если это работает, значит, проблема в разрешениях.
backend default {
.host = "0.0.0.0";
.port = "5000";
}
Это ваша проблема. У вас не может быть бэкэнда на 0.0.0.0. Вы, вероятно, захотите использовать вместо него 127.0.0.1.
(0.0.0.0 используется, чтобы сообщить системе, что нужно прослушивать подключения к любому IP-адресу, но это не действительный IP-адрес для подключения)
Изменить: хорошо, я был слишком быстр отвечать. Это не решит проблему с разрешениями. Дайте мне секунду.
Edit2: хорошо, перечитывая, я вижу, что вы устранили проблему с разрешениями, так что мое решение должно исправить неработающий бэкэнд.