[Aparentemente eu estava executando o verniz como root]
Agora eu entendo isso:
[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
Eu tenho uma configuração MUITO simples. Perl Webapp em execução 0.0.0.0:5000
e quero que o verniz armazene isso em cache. O sistema é virtual"gotícula"(ou VM) ativadohttp://www.digitalocean.com. A máquina é umaCaixa CentOS.
Dentro /etc/sysconfig/varnish/
eu tenho:
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.vcl
eu tenho:
backend default {
.host = "0.0.0.0";
.port = "5000";
}
Eu tentei várias coisas sem sorte. (Reinicializações, configurações alternativas etc.) Posso acessar meu aplicativo em website.com:5000 perfeitamente.
Isso é o que consegui quando usei 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
Tentei pesquisar vários posts (alguns em SF), todos levando a becos sem saída ou soluções para situações completamente diferentes.
Aposto que estou fazendo algo muito básico de errado, mas cheguei ao ponto de matar minha máquina, começando com uma VM limpa, instalando o perl e os módulos que preciso, depois coloquei meu aplicativo em funcionamento e instalei o verniz BASIC configuração a partir dos documentos. Eu fiz isso DUAS VEZES!
Qualquer ajuda e sugestões serão imensamente apreciadas.
Responder1
backend default {
.host = "0.0.0.0";
.port = "5000";
}
Isso é problema seu. Você não pode ter back-end em 0.0.0.0. Você provavelmente deseja usar 127.0.0.1.
(0.0.0.0 é usado para informar ao sistema para escutar conexões com qualquer IP, mas não é um IP válido para conexão)
Editar: ok, fui rápido demais para responder. Isso não resolverá o problema de permissão. Me dê um segundo.
Edit2: ok, relendo, vejo que você corrigiu o problema de permissão, então minha solução deve corrigir o back-end que não funciona.
Responder2
As permissões no diretório onde o verniz compila o vcl, o Ubuntu usa /var/lib/varnish/ Tente chmod 666 -R /var/lib/varnish/
No seu código acima, você não está executando como root, tente testar como root ou usar sudo. Se funcionar, então as permissões são o problema.