我想看看如何配置 Nginx 和 Varnish。
我正在跨两个 IP 运行几个 PHP 站点和 Rack-Sinatra 站点作为虚拟主机。我想防止 Nginx 必须提供静态文件,因为我注意到一些延迟。
编辑:我已更改为 Nginx,但提供的答案很容易移植到 nginx。
我想看看如何配置 Nginx 和 Varnish。
我正在跨两个 IP 运行几个 PHP 站点和 Rack-Sinatra 站点作为虚拟主机。我想防止 Nginx 必须提供静态文件,因为我注意到一些延迟。
编辑:我已更改为 Nginx,但提供的答案很容易移植到 nginx。
Apache 仍然会提供静态文件,但只会提供一次。也许最简单的方法是将 varnish 配置为侦听端口 80 的所有 IP 地址,并将 Apache 配置
localhost:8000
为例如侦听。然后你配置 varnish 将它收到的所有请求转发给localhost:8000
Apache 来处理。我会选择清漆配置:
现在在您的
vcl
文件中:现在在您的 Apache
httpd.conf
配置中,您希望 Apache 监听localhost:8000
并在同一地址上定义您的虚拟主机:端口为每个网站创建一个
<VirtualHost>
节。在该节中,您需要告诉 ApacheExpires
在所有静态内容上设置和缓存控制标头,以便 varnish 知道缓存它。我希望这有帮助。
为了未来读者的利益,对于 rjk 提供的 VCL 示例:
否则,当场。:)