教程:编译失败



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运行。

最新更新