La configuración básica de Barniz 4.0 no parece funcionar.

La configuración básica de Barniz 4.0 no parece funcionar.

[Aparentemente estaba ejecutando barnizado como root]

Ahora entiendo esto:

[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

Tengo una configuración MUY simple. Perl Webapp se está ejecutando 0.0.0.0:5000y quiero que Barniz guarde esto en caché. El sistema es virtual."gotita"(o VM) enhttp://www.digitalocean.com. La máquina es unacaja CentOS.

Dentro /etc/sysconfig/varnish/tengo:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -u varnish -g varnish \
             -S /etc/varnish/secret \
             -s malloc,128m"

Dentro /etc/varnish/default.vcltengo:

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

Probé varias cosas sin suerte. (Reinicios, configuraciones alternativas, etc.) Puedo acceder a mi aplicación en website.com:5000 sin problemas.

Esto es lo que obtuve cuando usé 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

Intenté buscar en varias publicaciones (algunas en SF) y todas conducen a callejones sin salida o soluciones para situaciones completamente diferentes.

Apuesto a que hay algo muy básico que estoy haciendo mal, pero incluso llegué al punto de apagar mi máquina, comenzando desde una máquina virtual limpia, instalando Perl y los módulos que necesito, luego hice que mi aplicación funcionara y luego instalé barniz BASIC. configuración desde los documentos. ¡Hice esto DOS VECES!

Cualquier ayuda y sugerencias serán enormemente apreciadas.

Respuesta1

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

Este es tu problema. No puedes tener backend en 0.0.0.0. Probablemente quieras usar 127.0.0.1 en su lugar.

(0.0.0.0 se usa para decirle al sistema que escuche las conexiones a cualquier IP, pero no es una IP válida para conectarse)

Editar: ok, fui demasiado rápido para responder. Esto no solucionará el problema de permisos. Dame un segundo.

Edit2: ok, volviendo a leer, veo que solucionaste el problema de permisos, por lo que mi solución debería solucionar el backend que no funciona.

Respuesta2

Los permisos en el directorio donde barniz compila el vcl, Ubuntu usa /var/lib/varnish/ Pruebe chmod 666 -R /var/lib/varnish/

Según el código anterior, no está ejecutando como root, intente probar como root o usando sudo. Si funciona, entonces los permisos son el problema.

información relacionada