haproxy varnish-阿里云开发者社区

开发者社区> 开发与运维> 正文

haproxy varnish

简介:

(1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题;

(2) 在haproxy和后端主机之间添加varnish进行缓存;

(3) 设计拓扑;

(4) haproxy的设定要求:

(a) stats page,要求仅能通过本地访问使用管理接口;

(b) 动静分离;

(c) 分别考虑不同的服务器组的调度算法;

(5) haproxy高可用;

实验规划:

利用keepalived主备高可用两个haproxy服务器

对varnish缓存服务器做高可用

动态web集群

静态web集群

haproxy1: 172.16.1.4

haproxy2: 172.16.1.2

varnish1: 172.16.1.5

varnish2: 172.16.1.6

dynamic server1:172.16.1.3

dynamic server2:172.16.1.7

static server1: 172.16.1.10

static server2: 172.16.1.8

拓扑图

00.PNG

一、两台haproxy配置文件配置

haproxy1.PNG

haproxy2.PNG

启动服务

~]# systemctl start haproxy

~]# systemctl status haproxy #查看状态

~]# ss -tnlp #查看80和9999端口是否启用

~]# systemctl enable haproxy #设置开机启动

二、keepalived的配置

haproxy1的keepalived配置

11111.PNG

haproxy2的keepalived配置

22222.PNG

三、两台varnish主机的配置

更改varnish的监听端口为80

[root@varnish1 ~]# vim /etc/varnish/varnish.params

VARNISH_LISTEN_PORT=80

varnish配置文件内容

[root@varnish1 ~]# vim /etc/varnish/default.vcl

aaa.PNG

bbb.PNG

ccc.PNG

编译使配置生效

[root@varnish1 ~]# varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082

200


Varnish Cache CLI 1.0


Linux,3.10.0-327.el7.x86_64,x86_64,-smalloc,-smalloc,-hcritbit

varnish-4.0.5 revision 07eff4c29

Type 'help' for command list.

Type 'quit' to close CLI session.

vcl.list

200

available 0 boot

active 0 myconf3

varnish> vcl.load conf1 default.vcl

200

VCL compiled.

vcl.use conf1

200

VCL 'conf1' now active

vcl.list

200

available 0 boot

available 0 myconf3

active 0 conf1

四、后端动静服务器wordpress主机配置

后端amp配置不做赘述

在动态主机的/var/www/html/下创建health.php用于动态健康状态检查

<h1>DynamicServer is Health.</h1>

在静态主机的/var/www/html/下创建health.html用于静态健康状态检查

<h1>StaticServer is Health.</h1>

五、客户端查看

客户端登陆haproxy的stats page

登陆.PNG

关闭一台varnish服务器后,可以在stats page看到一台正常运行,一台关闭了

登陆2.PNG

登陆wordpress可以看到之前正常上传图片的博客

捕获.PNG

六、总结

1、架构优点:

(1)HAProxy为Varnish缓存服务器提供了高可用的负载均衡,其使用的算法,也为Varnish提升了缓存命中率;

(2)HAProxy提供Web图形化管理界面,使得管理更加便捷高效;

(3)Varnish的高效缓存机制极大的提升了Web应用的性能,降低了Web服务器的压力;

(4)Varnish给后端Web服务器提供了高可用负载均衡,并使用了动态分离技术,保障了后端主机的冗余,显著提升了其性能;

(5)使用Keepalive对HAproxy做高可用解决了单点故障问题。

2、不足之处:

,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章