haproxy反代+varnish缓存+后端LAMP平台集群实现

haproxy服务器:

第一台haproxy本机IP:

eno16777736:192.168.72.2

eno33554976:172.16.25.1

第二台haproxy本机IP:

eno16777736:192.168.72.3

eno33554976:172.16.25.2

keepalived高可用虚拟IP:

eno16777736:192.168.72.20

eno33554976:172.16.25.100

keepalived配置:

keepalived的配置项在这里就不再讲述了,前面都有讲过。主要就是对nginx的状态进行一个判断

若nginx down掉了,则将权重值-10,MASTER降为BACKUP(抢占模式)。当MASTER中的nginx

启动后,又会自动成为MASTER,虚拟IP就由MASTER掌控。

haproxy反代配置:

172.16.25.77为后端varnish的IP

设置fontend接受所有80端口信息;

直接转发到关于后端的varnish的backend var1,由varnish进行动静分离;

设置haproxy stats,stats enable开启stats,并设置访问的uri,设置用户名,密码,避免其他用户访问;

backend var1算法设置为一致性hash,基于uri的。并转发到varnish主机,若varnish有多台,直接增加server即可。

varnish服务器:

IP:172.16.25.77

yum install -y varnish

配置文件/etc/varnish/varnish.param:运行时参数的配置,如varnish线程池得多少,每个线程池的线程数目有多少等。

配置文件/etc/varnish/default.vcl进行编辑:varnish运行的策略库,根据该策略库判断数据是否缓存等。

前端nginx反代到后端时采用的是80端口,所以需要将varnish监听在80端口这样才能正确获取到前端请求。

修改/etc/varnish/varnish.param

将VARNISH_LISTEN_PORT修改为80端口,原来为6081,该端口为服务端口,6082为管理端口

/etc/varnish/default.vcl配置:

设置反代到后端的两个主机,可以进行健康状态监测,如

probe = {

url = /health.html

timeout = 3s

interval = 2s

window = 5

threahold = 3 (5次检测有三次成功则表示后端RS正常)

}

vcl_purge为缓存裁剪,对不需要的缓存进行删除,常用于缓存更新。

vcl_recv为所有请求数据都必须经过的一个状态引擎的表示,在这里对数据进行静态分离,

当请求的方法为dele,则表示对该资源进行裁剪,当请求的资源存在.php则表示该资源为

动态资源,发往动态资源服务器web2,否则发往静态资源服务器web1.在这里可以对资

源服务器进行扩展,若动静态资源服务器有多台,则可以设置vcl_init

vcl_init {

new websrv = directors.backend_roundrobin();

websrv.add_backend(webstat1);

websrv.add_backend(webstat2);

}

将两台静态服务器 都添加至websrv中,类似于nginx中的upstream

调用时使用set req.backend_hint = websrv.backend();即可。

注意:在使用组调度方式时,需要在配置文件顶部添加

启动varnish服务

systemctl start varnish.service

使用varnishadm加载default.vcl文件

后端RS的LAMP配置在这里就不多说了;

运行结果:

访问/myhaproxy

访问静态资源

访问动态资源

访问phpMyAdmin

时间: 2024-11-10 07:47:20

haproxy反代+varnish缓存+后端LAMP平台集群实现的相关文章

nginx反代varnish缓存服务器实现后端amp动静分离架构

1.前端nginx做调度器及反代服务器,将用户的请求调度至后端的两台varnish,缓存调度算法使用一致性hash算法保证缓存命中率: 2.两台varnish反向代理用户请求至三个(组)后端主机,分别为存储静态资源(htm,html,css,js),应用程序服务器(可以部署wordpress或Discuz!),图片统一保存至图片服务器: 3.用户登录后,可以通过wordpress发布新的博文,并且可以上传图片: 4.如果后端主机全部宕机,varnish可以使用过期缓存响应客户端:        

haproxy反代负载均衡

haproxy是用于实现作为后端反代以实现负载均衡器. 实现负载均衡有多种方案:可在tcp层即四层和应用层即七层实现负载均衡: 四层:lvs也是工作在四层的: 七层:nginx.ats等多种软件工具: haproxy域lvs相比,调度能力肯定是不如lvs,因为lvs工作在内核空间,与后端real server通信时,没有套接字数量和连接的限制,可以调度海量客户端的请求:而haproxy是工作在七层,毕竟基于套接字实现与real server通信的:但是,haproxy正因为基于七层,可以根据ht

saltstack 的web平台集群部署(3)---haproxy+keepalive+httpd 的部署

上一篇文章咱们讲到了haproxy的部署与配置 咱们这里说说如何使用keepalive和httpd来实现haproxy+keepalive+httpd  这套web架构的saltstack集群部署 首先咱们 http的部署,很简答哦,直接yum安装就完成了,但是在咱们saltstack就是用installed定义就行了. ok,让咱们搞起. [[email protected] http]# pwd/srv/salt/prod/http[[email protected] http]# cat 

haproxy+keepalived实现高可用负载均衡web集群

haproxy+keepalived实现高可用负载均衡web集群 负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将"请求"."访问"的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些节点负载很小导致资源浪费.这样,每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间的动态分配,以实现负载均衡,从而为企业提供更高性能,更加稳定的系统架构解决方案. 高可用集群的概念

LAMP架构集群入门

LAMP简要介绍 L:LinuxA:Apache(httpd)M:MySQL , MariadbP:php, perl , python 静态资源:图片,文档,视频,HTML代码,CSS代码,js代码等动态资源:是程序文件,需要在执行引擎上执行后,返回给客户端 客户端技术:JavaScript(有机会一定要学习) 服务端技术:php, Java,Python(一定要学习),node.js,go(运维的趋势,跟着谷歌走,不拍栽跟头) httpd:接受用户的web请求php:运行PHP程序Maria

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群

配置环境说明:   KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G  系统盘20G cpu 4核 Haproxykeepalived 2台 192.168.1.10192.168.1.20 Haserver01Haserver02 192.168.30192.168.40 内存6G  系统盘20G cpu 4核 Weblogic 4台 192.168.1.100192.168.1.150 192.168.1.200 192.168.1.250 Clusters01C

saltstack 的web平台集群部署(2)---haproxy的部署

上篇文章讲了saltstack的初始化基础安装. 咱们在这里讲讲项目的部署.咱们以haproxy+keepalive+httpd 来实现web平台的集群部署. 1. 部署yum安装环境 这个安装环境是除了上一节初始化之外的yum安装包 [[email protected] pkg]# pwd/srv/salt/prod/pkg[[email protected] pkg]# cat pkg-init.sls pkg-init:  pkg.installed:    - names:      -

nginx在windows下配置缓存服务器缓存静态资源+Tomcat集群

nginx安装目录 修改nginx.conf文件配置负载均衡配置Tomcat集群并设置动静分离 #user nobody; error_log logs/error.log; worker_processes 2; worker_rlimit_nofile 1024; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request&quo

高可用haproxy调度varnish服务器缓存后端动静分离集群架构

(1) 动静分离部署wordpress,动静都要能实现负载均衡,要注意会话的问题: (2) 在haproxy和后端主机之间添加varnish进行缓存: (3) 给出设计拓扑,写成博客: (4) haproxy的设定要求: (a) stats page,要求仅能通过本地访问使用管理接口:  (b) 动静分离: (c) 分别考虑不同的服务器组的调度算法: (5) haproxy高可用: 实验规划: 利用keepalived主备高可用两个haproxy服务器 对varnish缓存服务器做高可用 动态w