代理服务(2):Varnish_反向代理

1、vainish的作用和特点

1)作用
对访问用户进行缓存
支持反向代理
配置针对web服务器的负载均衡
2)特点
占用内存空间小
比squid处理速度快
稳定性强
如图所示:
在这里插入图片描述

[root@vatnish ~]# sysctl -p
net.ipv4.ip_forward = 1

2、安装varnish

1)安装依赖程序
[root@varnish ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@varnish /]# yum -y install libtool ncurses-devel pcre-devel libxslt groff pkgconfig libedit libedit-devel python-imaging python-docutils
2)初始化varnish并安装
[root@varnish varnish-4.0.1]# ./autogen.sh
[root@varnish varnish-4.0.1]# ./configure --prefix=/usr/local/varnish --enable-developer-warnings --enable-debugging-symbols
[root@varnish varnish-4.0.1]# make && make install
3)优化命令并生成配置文件
[root@vatnish /]# ln -s /usr/local/varnish/bin/* /usr/local/bin/
[root@vatnish /]# ln -s /usr/local/varnish/sbin/* /usr/local/sbin/
[root@vatnish /]# cp /usr/local/varnish/share/doc/varnish/example.vcl /usr/local/varnish/default.vcl

3、配置varnish实现负载均衡和缓存

1)修改主配置文件
[root@vatnish /]# vim /usr/local/varnish/default.vcl

			 13 vcl 4.0;
			 14 import directors;
			 17 backend web01 {							#web服务器的名字
			 18     .host = "192.168.200.10";			#web服务器的IP地址
			 19     .port = "80";						#web服务器的端口号	
			 20 }
			 21 backend web02 {
			 22     .host = "192.168.200.20";
			 23     .port = "80";
			 24 }
			 25 sub vcl_init {
			 26         new bar = directors.round_robin();	#采用轮询算法
			 27         bar.add_backend(web01);
			 28         bar.add_backend(web02);
			 29 }
			 30 sub vcl_recv {
			 31         set req.backend_hint = bar.backend();
			 32 }

2)启动服务,监听的端口为out_ip:192.168.10.30的80端口
[root@vatnish /]# varnishd -f /usr/local/varnish/default.vcl -a 192.168.10.30:80
3)查看日志(可以看到以下类似的日志信息则配置完成)
[root@vatnish ~]# varnishlog

*   << Request  >> 5         
-   Begin          req 4 rxreq
-   Timestamp      Start: 1586251416.323273 0.000000 0.000000
-   Timestamp      Req: 1586251416.323273 0.000000 0.000000
-   ReqStart       192.168.10.22 49195
-   ReqMethod      GET
-   ReqURL         /
-   ReqProtocol    HTTP/1.1
-   ReqHeader      Accept: */*
-   ReqHeader      Accept-Language: zh-CN
-   ReqHeader      User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
-   ReqHeader      Accept-Encoding: gzip, deflate
-   ReqHeader      If-Modified-Since: Mon, 06 Apr 2020 16:22:32 GMT
-   ReqHeader      If-None-Match: "10-5a2a1ac900e33"

4、若想支持https,需要和nginx结合,nginx代理https,varnish代理http

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H . C . Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值