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

базовая настройка Varnish 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 и я хочу, чтобы кэшировал это лаком. Система виртуальная "капля" (или ВМ) на 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 настройка из документации. Я сделал это ДВАЖДЫ!

Мы будем очень благодарны за любую помощь и указатели.

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

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

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

Изменить: хорошо, я слишком быстро ответил. Это не решит проблему с разрешениями. Погоди.

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

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

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