ubuntu 16.04.2
varnish-4.1.1
我坚持在这里:https://varnish-cache.org/docs/4.1/tutorial/starting_varnish.html
整本书中配置的第一个更改。它说:将主机更改为www.varnish-cache.org和reload。
/etc/varnish/default.vcl
vcl 4.0;
backend default {
.host = "www.varnish-cache.org";
.port = "80";
}
我执行:
sudo service varnish restart
sudo service varnish reload
,但无论如何我经常有"错误503后端获取失败"。
我尝试过:
$ sudo varnishd -d -f default.vcl
Error:
Failed to create vcl_boot/vgc.so: Permission deniedVCL compilation failed
汇编似乎失败了。你能帮我吗?
这是一个有点损坏的教程,原因有一些:
- 他们要求您将后端指向DNS名称。正确的方法是在后端定义中指定IP
- 您指定的任何内容(DNS或IP)最终将传递您使用Varnish网站的主机标头,并要求后端服务器使用该hostName提供站点。
所以为什么根据教程会遇到错误:
- 您访问,例如http://localhost/(或您使用varnish访问的任何主机名)
- 然后在Varnish-cache.org上与http服务器进行交谈,并要求http://localhost。
- 显然,varnish-cache.org服务器对此一无所知(根据其配置,会发出重定向/错误/等),因此您看到的错误。
最好将其指向您自己的Web服务器,然后这样做:
vcl 4.0;
backend default {
.host = "127.0.0.1";
.port = "8080";
}
以上假设您在带有清漆的同一台计算机上运行Web服务器(Nginx或Apache等),并且您可以在端口8080运行。