HAproxy

负载均衡haproxy+keepalived、lvs+keepalived后端php+nginx框架

↘锁芯ラ 提交于 2020-03-10 12:36:55
101、102机器 haproxy设置 1. 解压文件并进入解压文件夹 tar xvf haproxy-1.9.8.tar.gz cd haproxy-1.9.8 2. 编译安装haproxy,编译参数 make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/haproxy 4. 拷贝二进制执行文件入PATH路径 cp haproxy /usr/sbin/ 5. 修改systemctl启动文件 vim /usr/lib/systemd/system/haproxy.service [Unit] Description=HAProxy Load Banlancer After=syslog.target network.target [Service] ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run

haproxy反向代理

◇◆丶佛笑我妖孽 提交于 2020-03-09 19:08:21
haproxy是个高性能的tcp和http的反向代理。它就是个代理。不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1、web服务器,应用比较广泛,大家都会 2、可以作为7层负载均衡,location设置复杂的基于HTTP的负载均衡 3、性能强大,网络依赖小 4、安装配置简单 缺点: 1、健康检查单一,不支持基于url的健康检查(可以使用第三方插件实现) 2、负载均衡算法少 3、不能动态管理,比如踢出某个web节点,需要reload配置 4、没有集群upstream的状态页面    haproxy的优点和缺点 优点: 1、专门做反向代理负载均衡 2、负载均衡算法比较多,大于等于8种,比nginx丰富 3、性能不低于nginx,大于等于nginx 4、支持动态管理,通过和haproxy的sock进行通信,可以进行管理 5、有比较丰富的Dashboard的页面,监控方便。有管理页面 6、比较强大的7层反向代理功能,在7层方便,功能强大 7、会话保持比nginx丰富。可以基于cookie和源IP(nginx也能做到基于IP和cookie) 缺点: 配置没有Nginx简单(相对熟悉)    先杀掉原先的nginx进程,防止80端口被占用,导致haproxy无法启动 [root@linux-node1 conf]# pkill

http反向代理之haproxy详解

感情迁移 提交于 2020-03-09 19:06:47
1.反向代理定义 反向代理(Reverse Proxy)方式是指以 代理服务器 来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的 客户端 ,此时代理服务器对外就表现为一个服务器。 引用:http://baike.baidu.com/link?url=wtNaAjRzoRxtxruqa0IpdnUpC103uitnt8wj04_opjWvVGX2HMJF-lNX-9GKBc6l6s-c5HvIz3EzZJVFQ7wTGK 2. http反向代理之haproxy详解 http://freeloda.blog.51cto.com/2033581/1294094 3. HAProxy几个重要的结构体 http://tech.uc.cn/?p=1738 4.haproxy源码解析 http://blog.csdn.net/solaris_zune/article/category/1390906 5. HAProxy的独门武器:ebtree http://tech.uc.cn/?p=1031 6. HAProxy的event_accept函数源码分析 http://tech.uc.cn/?p=1523 7. HAProxy内存池实现源码分析 http://blog.chinaunix.net/uid

python基础修改haproxy配置文件

那年仲夏 提交于 2020-03-09 14:16:22
1.通过eval(),可以将字符串转为字典类型。 2.Encode过程,是把python对象转换成json对象的一个过程,常用的两个函数是dumps和dump函数。两个函数的唯一区别就是dump把python对象转换成json对象生成一个fp的文件流,而dumps则是生成了一个字符串 Decode过程,是把json对象转换成python对象的一个过程,常用的两个函数是loads和load函数。区别跟dump和dumps是一样的。 if __name__ == '__main__': # 将python对象test转换json对象 test = [{"username":"测试","age":16},(2,3),1] print type(test) python_to_json = json.dumps(test,ensure_ascii=False) print python_to_json print type(python_to_json) # 将json对象转换成python对象 json_to_python = json.loads(python_to_json) print json_to_python print type(json_to_python) 运行结果如下: 具体见:https://www.cnblogs.com/loleina/p/5623968

haproxy配置文件

天大地大妈咪最大 提交于 2020-03-09 14:12:32
haproxy配置文件 思路:读一行、写一行 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defaults log global mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms option dontlognull listen stats :8888 stats enable stats uri /admin stats auth admin:1234 frontend oldboy.org bind 0.0.0.0:80 option httplog option httpclose option forwardfor log global acl www hdr_reg(host) -i www.oldboy.org use_backend www.oldboy.org if www backend www.oldboy.org server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000 backend buy.oldboy.org server 100.1.7.90 100.1.7.90 weight 20 maxconn

RabbitMQ介绍及安装部署

半城伤御伤魂 提交于 2020-03-07 07:46:08
本节内容: RabbitMQ介绍 RabbitMQ运行原理 RabbitMQ重要术语 三种ExchangeType RabbitMQ集群种类 集群基本概念 镜像模式部署集群 一、RabbitMQ介绍 消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶。 或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。 RabbitMQ是一个消息代理,一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息再传输过程中的安全。 RabbitMQ是一个在AMQP协议标准上完整的、可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用Erlang语言实现的工业级的消息队列。 二、RabbitMQ运行原理 RabbitMQ的两大核心组件是Exchange和Queue,以下是它的运行原理图: 三、RabbitMQ重要术语 Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。 Vitual Host: 这是一个虚拟概念,类似于权限控制组,一个Vitual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Vitual Host。 Exchange: 接收生产者发送的消息

Appending Path to Host HAPROXY

牧云@^-^@ 提交于 2020-03-06 05:48:27
问题 I am new to haproxy (actually proxy'ing in general) and I can't figure out how to add a path to my backend. I have my backend defined as: server server1 ns.foo.com:7170 check I want to add /web such that the request is directed to https://ns.foo.com:7170/web. Thanks, Mark 回答1: What you need is HTTP rewriting https://www.haproxy.com/doc/aloha/7.0/haproxy/http_rewriting.html#rewriting-http-urls Adding this to your backend should solve your problem: acl p_root path -i / http-request set-path

Appending Path to Host HAPROXY

一笑奈何 提交于 2020-03-06 05:48:09
问题 I am new to haproxy (actually proxy'ing in general) and I can't figure out how to add a path to my backend. I have my backend defined as: server server1 ns.foo.com:7170 check I want to add /web such that the request is directed to https://ns.foo.com:7170/web. Thanks, Mark 回答1: What you need is HTTP rewriting https://www.haproxy.com/doc/aloha/7.0/haproxy/http_rewriting.html#rewriting-http-urls Adding this to your backend should solve your problem: acl p_root path -i / http-request set-path

Keepalived+LVS HAProxy

瘦欲@ 提交于 2020-03-05 06:40:10
把上周DR模式的所有环境清理 proxy:VIP(eth0:0),ipvsadm -C web1:VIP(lo:0),地址冲突那4个参数 web2:VIP(lo:0),地址冲突那4个参数 ------------------------------------------------------------------------------------ web1: # vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id web1 #修改这里成web1 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state

Web服务器群集——Haproxy搭建Web群集

隐身守侯 提交于 2020-03-04 15:29:32
Haproxy搭建Web群集 对Haproxy以及部署环境的了解 Haproxy是一种比较流行的调度工具 Haproxy与LVS、Nginx比较 LVS:LVS性能最好,抗负载能力强,但是配置起来较复杂 Nginx:对群集节点健康检查功能不强,性能没有Haproxy好,安装配置简单,测试方便,但是仅支持http和emil的调度 Haproxy:性能比Nginx好,支持url检测后端的服务器(mysql服务器超过10台不如LVS) 算法(跟LVS一样) rr (轮询):调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载 wrr (加权轮询):调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求,这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值 lc (最少连接):调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上,如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载 wlc (加权最少连接):在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载