chenkehao 发表于 2018-12-30 15:16:30

haproxy+keepalived高可用负载均衡部署

  一、安装haproxy软件
wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz
tar zxvf haproxy-1.4.22.tar.gz
cd haproxy-1.4.22
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
cd /usr/local/haproxy
mkdir conf
cd conf  二、在/usr/local/haproxy/conf/目录下创建配置文件(haproxy.cfg)
global
maxconn 20480
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 1
stats socket /usr/local/haproxy/haproxy.stat mode 666
log    127.0.0.1 local3
pidfile/usr/local/haproxy/haproxy.pid
ulimit-n 65535
defaults
log   global
mode    http
maxconn 20480
#optionhttplog clf
optionhttplog
optiondontlognull
option httpclose
option abortonclose
option redispatch
retries 3
monitor-uri /site_status
contimeout      5000
clitimeout      50000
srvtimeout      50000
frontend WEB-BANMA-cluster
bind *:80
default_backend web_pool
backend web_pool
balance source
#       balance leastconn   
cookieSERVERID
option forwardfor
optionhttpchk GET /check.html
serverapp1_1 192.168.10.15:80   cookie app1inst1 check inter 2000 rise 2 fall 5 weight 3
serverapp1_2 192.168.10.16:80   cookie app1inst2 check inter 2000 rise 2 fall 5 weight 6
stats refresh 5s
stats uri /status
stats realm Haproxy\ statistics
stats auth admin:admin123
stats admin if TRUE  三、如何给haproxy添加日志记录
  ①、如果是centos6.0以下版本配置
一、 vi /etc/syslog.conf
local3.*    /var/log/haproxy.log
二、vi /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0"
改成
SYSLOGD_OPTIONS="-r -m 0" #enables logging from remote machines
三、重启动
/etc/init.d/syslog restart  ②、Centos6.0或centos6.0以上版本
一、配置日志
vi /etc/rsyslog.conf(去掉下面两行前的注释,一定要去掉,否则不记录日志)
$ModLoad imudp.so
$UDPServerRun 514
##添加日志记录
local3.*         /var/log/haproxy.log(添加haproxy日志记录文件)
二、重启动服务
/etc/init.d/rsyslog restart  四、启动haproxy,进行检查,并查看日志
/usr/local/haproxy/sbin/haporxy -f /usr/local/haproxy/conf/haproxy.cfghttp://blog.运维网.com/attachment/201312/113145161.jpg
  #######################################################################################
  一、keepalived安装(主备机器安装方法一样)
wget http://rpm5.org/files/popt/popt-1.16.tar.gz
tar zxvf popt-1.16.tar.gz
cd popt-1.16
./configure
make && make install
wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz
tar zxvf keepalived-1.2.7.tar.gz
cd keepalived-1.2.7
./configure --prefix=/usr/local/keepalived
make && make install  二、初始化脚本
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir -p /etc/keepalived/
ln -s/usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
chmod +x /etc/init.d/keepalived  三、主机器配置文件(vi /etc/keepalived/keepalived.conf ),备机器只要(修改有注释地方即可)
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER   (备机,改MASTER为BACKUP)
interface eth0
virtual_router_id 51
priority 150(备机,改150为149)
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
10.1.1.60
}
}  四、检测haproxy状态的文件
status=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l)
if [ "${status}" = "0" ]; then
/etc/init.d/haproxy start
status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l)
if [ "${status2}" = "0"]; then
/etc/init.d/keepalived stop
fi
fi  

  五、启动keepalived
  /etc/init.d/keepalived start



页: [1]
查看完整版本: haproxy+keepalived高可用负载均衡部署