继之前讲述《Amazon Linux Varnish 3 配置》,也简单地记录一下Nginx Varnish 3多站会的配置。
你可能需要参考一下之前Varnish的安装部分,一个简单的映射关系如下图所示:

当请求的域名是nginx1.phodal.com 就转向本地的8081端口,交由nginx来处理。
当请求的域名是nginx2.phodal.com 就转向本地的8082端口,交由nginx来处理。
A站的配置如下,端口用的是8081
server {
  listen 8081;
  server_name nginx1.phodal.com;
  index index.html index.htm;
  root /home/www/nginx1;
}A站的配置如下,端口用的是8082
server {
  listen 8082;
  server_name nginx2.phodal.com;
  index index.html index.htm;
  root /home/www/nginx2;
}这样我们只需要在我们的defaulct.vcl指向上述的域名就可以了。
backend nginx1 {
  .host = "127.0.0.1";
  .port = "8081";
}
backend nginx2 {
  .host = "127.0.0.1";
  .port = "8082";
}
sub vcl_recv {
    if (req.http.host ~ "nginx1.phodal.com") {
        set req.http.host = "nginx1.phodal.com";
        set req.backend = nginx1;
    } else if (req.http.host == "nginx2.phodal.com") {
        set req.http.host = "nginx2.phodal.com";
        set req.backend = nginx2;
    }
}当然一个真正的配置是不会这么简单地。。
测试Nginx语法是否正确
 nginx -tNginx可以用
  /etc/init.d/nginx reload重新载入配置
 service nginx reload或者重启,只需要将上面的reload改为restart。
测试Varnish语法是否正确
varnishd -C -f /etc/varnish/default.vcl可以直接用命令
varnish_reload_vcl也可以用和nginx一样的方法
 service varnish restart围观我的Github Idea墙, 也许,你会遇到心仪的项目