设置我的第一个Varnish缓存服务器

3

我正在尝试设置我的第一个Varnish缓存服务器,并且有一些问题需要请教有经验的人。

1.) 我正在作为独立服务器运行Varnish,是否需要在同一台服务器上安装Apache。最终站点不在此服务器上,而是在其他服务器上。

2.) 我是否将域名指向Varnish,然后设置配置以指向托管站点的服务器的IP地址?如果是这样,如何指向正确的站点?

3.) 如果Varnish是独立的,我有一个Apache内容服务器,它们都可以是端口80,只需更改default.vcl中的IP地址即可。

backend default { .host = "198.221.134.235"; .port = "80"; }

对于这些基础问题,很抱歉。我整个周末都在谷歌上搜索,已经找到了许多关于如何安装和配置Varnish的信息,但似乎要缓存的站点都位于同一台服务器上,因为所有信息都在更改Apache监听的端口,这似乎意味着该站点位于同一台服务器上。

如果您有任何好的信息网站,请随时分享!再次感谢!

1个回答

4
  1. 不,Varnish和Apache(或任何其他HTTP / Web服务器)可以在单独的服务器上运行。
  2. 确实,将域指向Varnish的IP,并按照文档中描述的设置后端:https://www.varnish-cache.org/docs/3.0/tutorial/backend_servers.html。您的Web服务器的IP将是后端的IP。
  3. 正确,只要Apache和Varnish在单独的服务器上,它们都可以侦听端口80

如果我没记错,您将拥有以下设置:

DNS example.com => 1.1.1.1 IP 1.1.1.1:80: Varnish (backend: 1.1.1.2:80) IP 1.1.1.2:80: Apache


非常感谢提供的信息。在定义默认后端时,您会将其指向为提供网站服务的Apache服务器的IP地址,对吗?如果是这样,那么如何定义它所要访问的网站呢?Varnish是否会将URL传递给Apache服务器,以便conf文件可以正确路由它?假设我想让therecord.org使用Varnish。我将该域名的DNS记录指向Varnish服务器(198.221.134.235),然后希望Varnish服务器指向托管Drupal网站的Apache服务器(198.221.134.236)。Apache如何知道要提供哪个网站? - Wally Kolcz
默认后端确实指向Apache。 Apache将完全像直接将域指向Apache一样运行。根据配置(例如主机名),Apache将提供正确的虚拟主机。 Varnish充当中间人,并且(默认情况下)除了在可能时进行缓存之外,不会做任何其他事情,只是将请求转发到后端。 - Arjan
很好。只是为了重置。我将DNS指向Varnish服务器IP地址。我使用default.vcl并添加 backend default { .host = "198.221.134.236"; .port = "80"; 来指向Apache服务器。然后在Apache上,我可以有一个虚拟主机文件,说serverName = therecord.org,并指向/ var / www / html / therecord.com,并且如果我将浏览器指向therecord.com,它会工作? - Wally Kolcz
我是指将浏览器指向正确的域名therecord.org。 - Wally Kolcz
太好了!非常感谢。看起来我的配置是正确的...现在只是在缓存服务器上开放80端口有问题,哈哈。非常感谢! - Wally Kolcz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接