varnish 高速缓存
2017-04-06 22:13
465 查看
1.安装包
varnish-3.0.5-1.el6.x86_64.rpm
varnish-libs-3.0.5-1.el6.x86_64.rpm
2.操作步骤
(1)一个节点
[root@server1 ~]# rpm -ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:varnish ########################################### [100%]
[root@server1 ~]# cd /etc/varnish/
[root@server1 varnish]# vim default.vcl ##编辑文件,与主机IP为2相关联,端口为80
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
[root@server1 varnish]# vim /etc/sysconfig/varnish ##编写配置文件,监听端口80
66 VARNISH_LISTEN_PORT=80
[root@server2 ~]# yum install -y httpd ##安装httpd
[root@server2 ~]# echo server2.example.com > /var/www/html/index.html##编写测试文件
[root@server2 ~]# /etc/init.d/httpd start ##开启httpd
Starting httpd: [ OK ]
[root@server2 ~]# netstat -antlp##查看端口,是否开启服务
tcp 0 0 :::80 :::* LISTEN 0 9988 1256/httpd
[root@foundation38 Desktop]# vim /etc/hosts ##在测试机上,要做解析域名
172.25.38.1 server1.example.com www.westos.org westos.org bbs.westos.org
172.25.38.2 server2.example.com
172.25.38.3 server3.example.com
在本机打开浏览器,访问测试
![](https://img-blog.csdn.net/20170406215355678)
(2)两个节点
[root@server3 ~]# yum install -y httpd##安装httpd
[root@server3 ~]# echo server3.example.com > /var/www/html/index.html##编写测试文件
[root@server3 ~]# /etc/init.d/httpd start##开启服务
Starting httpd: [ OK ]
[root@server1 varnish]# vim default.vcl ##编辑文件
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
backend web2 {
.host = "172.25.38.3";
.port = "80";
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") { ##如
4000
果输入为westos.org,自动补全为www.westos.org
set req.http.host = "www.westos.org";
set req.backend = web1;##满足上述条件,选择web1
}
elsif (req.http.host ~ "^bbs.westos.org") {##如果是bbs开头,则选择web2
set req.backend = web2;
}
else {error 404 "westos cache";##如果上述条件都不满足,则给出错误提示
}
}
[root@server1 varnish]# /etc/init.d/varnish restart##更改配置文件后,重启服务
Stopping Varnish Cache: [ OK ]
Starting Varnish Cache:
在本机打开浏览器,访问测试
![](https://img-blog.csdn.net/20170406215402506)
![](https://img-blog.csdn.net/20170406215406902)
![](https://img-blog.csdn.net/20170406215411022)
(3)cluster
[root@server3 ~]# vim /etc/httpd/conf/httpd.conf ##添加虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName server3.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www1##虚拟主机1发布目录
ServerName www.westos.org
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www2##虚拟主机2发布目录
ServerName bbs.westos.org
</VirtualHost>
[root@server3 ~]# mkdir /var/www/html/www1##创建目录
[root@server3 ~]# mkdir /var/www/html/www2##创建目录
[root@server3 www1]# echo server3.example.com-www1 >/var/www/html/www1/index.html##编写测试文件
[root@server3 www1]# echo server3.example.com-www2 >/var/www/html/www2/index.html##编写测试文件
[root@server3 www1]# /etc/init.d/httpd restart##更改配置后,重启服务
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@server1 varnish]# vim default.vcl##编辑配置文件
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
backend web2 {
.host = "172.25.38.3";
.port = "80";
}
director lb round-robin {##仲裁机制随机选取,把web1、web2加入到lb组里面
{.backend = web1;}
{.backend = web2;}
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = lb;
return (pass);##此处为了测试结果明显,加入此句。句意为:不从缓存取数据,直接从后端取数据
}
elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
}
else {error 404 "westos cache";
}
}
[root@server1 varnish]# /etc/init.d/varnish restart
Stopping Varnish Cache: [ OK ]
Starting Varnish Cache: [ OK ]
在本机打开浏览器,访问测试
![](https://img-blog.csdn.net/20170406215436090)
![](https://img-blog.csdn.net/20170406215425991)
----------------------------------------------------
varnish-3.0.5-1.el6.x86_64.rpm
varnish-libs-3.0.5-1.el6.x86_64.rpm
2.操作步骤
(1)一个节点
[root@server1 ~]# rpm -ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:varnish ########################################### [100%]
[root@server1 ~]# cd /etc/varnish/
[root@server1 varnish]# vim default.vcl ##编辑文件,与主机IP为2相关联,端口为80
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
[root@server1 varnish]# vim /etc/sysconfig/varnish ##编写配置文件,监听端口80
66 VARNISH_LISTEN_PORT=80
[root@server2 ~]# yum install -y httpd ##安装httpd
[root@server2 ~]# echo server2.example.com > /var/www/html/index.html##编写测试文件
[root@server2 ~]# /etc/init.d/httpd start ##开启httpd
Starting httpd: [ OK ]
[root@server2 ~]# netstat -antlp##查看端口,是否开启服务
tcp 0 0 :::80 :::* LISTEN 0 9988 1256/httpd
[root@foundation38 Desktop]# vim /etc/hosts ##在测试机上,要做解析域名
172.25.38.1 server1.example.com www.westos.org westos.org bbs.westos.org
172.25.38.2 server2.example.com
172.25.38.3 server3.example.com
在本机打开浏览器,访问测试
(2)两个节点
[root@server3 ~]# yum install -y httpd##安装httpd
[root@server3 ~]# echo server3.example.com > /var/www/html/index.html##编写测试文件
[root@server3 ~]# /etc/init.d/httpd start##开启服务
Starting httpd: [ OK ]
[root@server3 ~]# netstat -antlp##查看端口 tcp 0 0 :::80 :::* LISTEN 0 9988 1256/httpd
[root@server1 varnish]# vim default.vcl ##编辑文件
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
backend web2 {
.host = "172.25.38.3";
.port = "80";
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") { ##如
4000
果输入为westos.org,自动补全为www.westos.org
set req.http.host = "www.westos.org";
set req.backend = web1;##满足上述条件,选择web1
}
elsif (req.http.host ~ "^bbs.westos.org") {##如果是bbs开头,则选择web2
set req.backend = web2;
}
else {error 404 "westos cache";##如果上述条件都不满足,则给出错误提示
}
}
[root@server1 varnish]# /etc/init.d/varnish restart##更改配置文件后,重启服务
Stopping Varnish Cache: [ OK ]
Starting Varnish Cache:
在本机打开浏览器,访问测试
(3)cluster
[root@server3 ~]# vim /etc/httpd/conf/httpd.conf ##添加虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName server3.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www1##虚拟主机1发布目录
ServerName www.westos.org
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/www2##虚拟主机2发布目录
ServerName bbs.westos.org
</VirtualHost>
[root@server3 ~]# mkdir /var/www/html/www1##创建目录
[root@server3 ~]# mkdir /var/www/html/www2##创建目录
[root@server3 www1]# echo server3.example.com-www1 >/var/www/html/www1/index.html##编写测试文件
[root@server3 www1]# echo server3.example.com-www2 >/var/www/html/www2/index.html##编写测试文件
[root@server3 www1]# /etc/init.d/httpd restart##更改配置后,重启服务
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@server1 varnish]# vim default.vcl##编辑配置文件
backend web1 {
.host = "172.25.38.2";
.port = "80";
}
backend web2 {
.host = "172.25.38.3";
.port = "80";
}
director lb round-robin {##仲裁机制随机选取,把web1、web2加入到lb组里面
{.backend = web1;}
{.backend = web2;}
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = lb;
return (pass);##此处为了测试结果明显,加入此句。句意为:不从缓存取数据,直接从后端取数据
}
elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
}
else {error 404 "westos cache";
}
}
[root@server1 varnish]# /etc/init.d/varnish restart
Stopping Varnish Cache: [ OK ]
Starting Varnish Cache: [ OK ]
在本机打开浏览器,访问测试
----------------------------------------------------
相关文章推荐
- mysql 触发器 Varnish:高速http缓存 varnish cdn 推送平台
- varnish构建高速缓存
- varnish 高速缓存
- 每个程序员都应该了解的 CPU 高速缓存
- SQL高速缓存
- oracle数据库的高速缓存技术
- 如何配置重做日志高速缓存的大小
- 系统级程序设计笔记(unit6——存储设备层次结构、高速缓存、虚拟内存)
- Haproxy + Varnish 实现WEB静态页面缓存
- Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器
- .NET中高速缓存使用技巧
- 【Linux设备驱动程序(第三版)】----高速缓存
- 谈谈varnish,squid,apache,nginx缓存的对比
- Varnish4.0缓存代理配置
- php实现监控varnish缓存服务器的状态
- Varnish 缓存rewrite后的html页面
- oscache高速缓存
- 高速缓存简析
- 缓存说明及varnish说明配置
- CentOS 6.5 Varnish缓存服务详解及应用实现 推荐