忘不了那一天:haproxy_keepalived安装配置
来源:百度文库 编辑:中财网 时间:2024/05/05 22:44:37
haproxy_keepalived安装配置
参照《ubuntu server最佳方案》,学习配置了haproxy的负载均衡。留个简单的安装配置记录,然后继续深入学习。
安装环境:ubuntu server
网络环境
Java代码
一、 web server的安装配置
以下操作在两台web server上同时做
1. apache安装
Java代码
2. 修改apache中日志记录,以便可以记录client的ip而不是lb的
Java代码
3. 在你网站目录创建检测文件,用于haproxy检测web server是否存活
Java代码
4. 重启apache
Java代码
二、 Load Balancer(HAProxy)安装配置
以下操作在两台Load Balancer上同时做
1. 安装HAProxy
Java代码
2. 配置HAProxy
Java代码
#retries--web无法访问的重试次数
#cookie JSESSIONID prefix--处理session
#option forwardfor--转发client的IP给web server(X-Forwarded-For)
3. 调整系统参数、开机启动HAProxy
Java代码
4. 启动haproxy
Java代码
三、 Keepalived安装配置
lb1和lb2的HAProxy已经配置好并监听IP地址:192.168.1.100。Keepalived用priority参数把bl1和bl2分配为“主服务器”和“从服务器”。正常情况下由主服务器监听IP地址并提供服务。
以下操作在两台Load Balancer上同时做,但是priority参数主服务器为101,从服务器为100
1. 安装Keepalived
Java代码
2. 配置Keepalived
Java代码
3. 启动Keepalived
Java代码
四、 其他
HAProxy情况查询:用上面设置的帐号密码登陆 http://192.168.1.100/haproxy?stats
HAProxy中文网站
附件是haproxy的详细配置文档
参照《ubuntu server最佳方案》,学习配置了haproxy的负载均衡。留个简单的安装配置记录,然后继续深入学习。
安装环境:ubuntu server
网络环境
Java代码
- Load Balancer 1: lb1.test.com, IP address: 192.168.1.10 eth0
- Load Balancer 2: lb2.test.com, IP address: 192.168.1.11 eth0
- Web Server 1: web1.test.com, IP address: 192.168.1.12 eth0
- Web Server 2: web2.test.com, IP address: 192.168.1.13 eth0
- lb1 and lb2共享虚拟IP: 192.168.1.100处理请求
一、 web server的安装配置
以下操作在两台web server上同时做
1. apache安装
Java代码
- sudo apt-get install apache2 libapache2-mod-php5 php5-mysql
2. 修改apache中日志记录,以便可以记录client的ip而不是lb的
Java代码
- vi /etc/apache2/apache2.conf
- 把logFormat的%h改为%{X-Forwarded-For}i
3. 在你网站目录创建检测文件,用于haproxy检测web server是否存活
Java代码
- echo “It works!” > /var/www/hachecker.php
- 修改你的虚拟主机配置文件记录access日志部分,不记录hachecker.php的访问日志
- SetEnvIf Request_URI “^/hachecker\.php$” dontlog
- CustomLog /var/log/apache2/access.log combined env=!dontlog
4. 重启apache
Java代码
- /etc/init.d/apache2 restart
二、 Load Balancer(HAProxy)安装配置
以下操作在两台Load Balancer上同时做
1. 安装HAProxy
Java代码
- sudo apt-get install haproxy
2. 配置HAProxy
Java代码
- sudo mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg_BAK
- sudo vi /etc/haproxy/haproxy.cfg
- 加入如下:
- global
- log 127.0.0.1 local0
- log 127.0.0.1 local1 notice
- #log loghost local0 info
- maxconn 4096
- #chroot /usr/share/haproxy
- user haproxy
- group haproxy
- daemon
- #debug
- #quiet
- defaults
- log global
- mode http
- option httplog
- option dontlognull
- retries 3
- option redispatch
- maxconn 2000
- contimeout 5000
- clitimeout 50000
- srvtimeout 50000
- listen webfarm 192.168.1.100:80
- stats enable
- stats auth isends:isends
- balance roundrobin
- cookie JSESSIONID prefix
- option forwardfor
- option httpchk HEAD /hachecker.php
- server web1 192.168.1.12:80 cookie A check
- server web2 192.168.1.13:80 cookie B check
- option httpclose # disable keep-alive
- #option checkcache # block response if set-cookie & cacheable
- #errorloc 502 http://192.168.114.58/error502.html
- #errorfile 503 /etc/haproxy/errors/503.http
- errorfile 400 /etc/haproxy/errors/400.http
- errorfile 403 /etc/haproxy/errors/403.http
- errorfile 408 /etc/haproxy/errors/408.http
- errorfile 500 /etc/haproxy/errors/500.http
- errorfile 502 /etc/haproxy/errors/502.http
- errorfile 503 /etc/haproxy/errors/503.http
- errorfile 504 /etc/haproxy/errors/504.http
#retries--web无法访问的重试次数
#cookie JSESSIONID prefix--处理session
#option forwardfor--转发client的IP给web server(X-Forwarded-For)
3. 调整系统参数、开机启动HAProxy
Java代码
- sudo vi /etc/sysctl.conf
- 加入一行:
- net.ipv4.ip_nonlocal_bind=1
- 执行sudo sysctl –p使之生效
- 开机启动HAProxy
- vi /etc/default/haproxy
- 设置ENABLED=1
- ENABLED=1
4. 启动haproxy
Java代码
- sudo /etc/init.d/haproxy start
三、 Keepalived安装配置
lb1和lb2的HAProxy已经配置好并监听IP地址:192.168.1.100。Keepalived用priority参数把bl1和bl2分配为“主服务器”和“从服务器”。正常情况下由主服务器监听IP地址并提供服务。
以下操作在两台Load Balancer上同时做,但是priority参数主服务器为101,从服务器为100
1. 安装Keepalived
Java代码
- sudo apt-get install keepalived
2. 配置Keepalived
Java代码
- sudo vi /etc/keepalived/keepalived.conf
- 配置如下:
- vrrp_script chk_haproxy {
- script "killall -0 haproxy"
- interval 2
- weight 2
- }
- vrrp_instance VI_1 {
- state MASTER
- interface eth0
- virtual_router_id 51
- priority 100
- virtual_ipaddress {
- 192.168.1.100
- # optional label. should be of the form "realdev:sometext" for
- # compatibility with ifconfig.
- #192.168.200.18 label eth0:1
- }
- track_script {
- chk_haproxy
- }
- }
3. 启动Keepalived
Java代码
- sudo /etc/init.d/keepalived start
- 查看ip是否绑定正确,bl1绑定IP:192.168.1.100。bl2不绑定该IP
- ip addr sh eth0
四、 其他
HAProxy情况查询:用上面设置的帐号密码登陆 http://192.168.1.100/haproxy?stats
HAProxy中文网站
附件是haproxy的详细配置文档
- haproxy配置文档.rar (47.7 KB)