十、使用Varnish加速Web
使用Varnish加速Web
构建Web服务器(web1)
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# setenforce 0
[root@web1 ~]# firewall-cmd --set-default-zone=trusted
[root@web1 ~]# echo 1111 > /var/www/html/index.html
[root@proxy ~]# firefox http://192.168.2.100
部署Varnish缓存服务器(192.168.4.5)
[root@proxy ~]# yum -y install gcc readline-devel //安装软件依赖包
[root@proxy ~]# yum -y install ncurses-devel //安装软件依赖包
[root@proxy ~]# yum -y install pcre-devel //安装软件依赖包
[root@proxy ~]# yum -y install python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm //安装软件依赖包python-docutils
[root@proxy ~]# useradd -s /sbin/nologin varnish //创建账户,用户名必须为varnish
[root@proxy ~]# tar -xf varnish-5.2.1.tar.gz
[root@proxy ~]# cd varnish-5.2.1
[root@proxy varnish-5.2.1]# ./configure
[root@proxy varnish-5.2.1]# make & make install
[root@proxy varnish-5.2.1]# cp etc/example.vcl /usr/local/etc/default.vcl //复制启动脚本及配置文件
[root@proxy ~]# vim /usr/local/etc/default.vcl //修改代理配置文件
backend default {
.host = "192.168.2.10";
.port = "80";
}
[root@proxy ~]# varnishd -f /usr/local/etc/default.vcl //起服务
//varnishd命令的其他选项说明如下:
//varnishd –s malloc,128M 定义varnish使用内存作为缓存,空间为128M
//varnishd –s file,/var/lib/varnish_storage.bin,1G 定义varnish使用文件作为缓存
[root@client ~]# curl http://192.168.4.5 //测试
[root@proxy ~]# varnishlog //varnish日志
[root@proxy ~]# varnishncsa //访问日志
[root@proxy ~]# varnishadm //更新缓存(默认也会自动更新,但非实时更新)
varnish> ban req.url ~ .* //清空缓存数据,支持正则表达式