базовая настройка лака 4.0, похоже, не работает

базовая настройка лака 4.0, похоже, не работает

[Очевидно, я запустил varnishd как root]

Теперь я понимаю это:

[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 Webapp запущен на 0.0.0.0:5000и я хочу, чтобы Varnish кэшировал это. Система является виртуальной"капелька"(или ВМ) на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";
}

Я перепробовал много вещей, но безуспешно. (Перезапуски, альтернативные конфигурации и т. д.) Я могу получить доступ к своему приложению по адресу website.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), но все они приводили к тупикам или решениям для совершенно разных ситуаций.

Держу пари, что я делаю что-то очень простое, но я даже дошел до того, что убил свою машину, начав с чистой виртуальной машины, установив perl и нужные мне модули, затем заставив свое приложение работать, затем установив BASIC Varnish из документации. Я сделал это ДВАЖДЫ!

Любая помощь и указания будут чрезвычайно признательны.

решение1

backend default {
  .host = "0.0.0.0";
  .port = "5000";
}

Это ваша проблема. Вы не можете иметь бэкэнд на 0.0.0.0. Вероятно, вы хотите использовать 127.0.0.1 вместо этого.

(0.0.0.0 используется для того, чтобы сообщить системе о необходимости прослушивания подключений к любому IP-адресу, но это недопустимый IP-адрес для подключения)

Редактировать: ладно, я слишком поторопился с ответом. Это не решит проблему с разрешением. Дай мне секунду.

Редактирование 2: хорошо, перечитав, я вижу, что вы исправили проблему с разрешениями, так что мое решение должно исправить неработающий бэкэнд.

решение2

Права доступа к каталогу, в который Varnish компилирует vcl, Ubuntu использует /var/lib/varnish/ Попробуйте chmod 666 -R /var/lib/varnish/

Из вашего кода выше вы не работаете как root, попробуйте протестировать как root или использовать sudo. Если это сработает, то проблема в разрешениях.

Связанный контент