继之前讲述《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 -t
Nginx可以用
/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墙, 也许,你会遇到心仪的项目