Preconfiguration setup

  • 关闭防火墙
1
2
3
4
5
6
7
$ sudo cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)

$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld
$ sudo sed -i 's#^SELINUX=.*#SELINUX=disabled#' /etc/sysconfig/selinux
$ sudo setenfore 0
  • 修改主机名
1
2
$ sudo hostnamectl
$ sudo yum install -y ntp
  • 配置NTP服务
1
$ sudo systemctl start ntpd

Install HAProxy

  • 创建用户、组
1
2
$ sudo useradd haproxy -s /usr/sbin/nologin
$ sudo groupadd haproxy
  • 安装系统包
1
$ sudo yum install -y gcc net-snmp net-snmp-devel net-snmp-agent-libs net-snmp-libs  pcre-static pcre-devel
1
2
$ tar xzvf haproxy-x.x.x.tar.gz
$ cd haproxy-x.x.x
  • 编译安装
1
2
3
$ more README
$ sudo make TARGET=linux2628 PREFIX=/usr/local/haproxy
$ sudo make install PREFIX=/usr/local/haproxy
  • errorfile错误文件
1
$ sudo cp -r examples/errorfiles/  /usr/local/haproxy/
  • haproxy日志文件
1
2
3
$ sudo mkdir -p /usr/local/haproxy/log
$ sudo touch /usr/local/haproxy/log/haproxy.log
$ sudo ln -s /usr/local/haproxy/log/haproxy.log /var/log/
  • etc中的haproxy文件
1
2
$ sudo mkdir -p /etc/haproxy
$ sudo ln -s /usr/local/haproxy/haproxy.cfg /etc/haproxy/
  • 设置全局启动文件
1
$ sudo ln -s /usr/local/haproxy/sbin/haproxy  /usr/sbin/haproxy
  • 配置HAProxy服务
1
2
3
4
5
6
7
$ sudo cp examples/haproxy.init /etc/rc.d/init.d/haproxy
$ sudo chmod 755 /etc/rc.d/init.d/haproxy
$ sudo systemctl daemon-reload
$ sudo chkconfig --add haproxy
$ sudo chkconfig haproxy on
$ sudo systemctl start haproxy
$ sudo systemctl status haproxy

Install Keepalived

  • 创建用户、组
1
2
$ sudo useradd keepalived -s /usr/sbin/nologin
$ sudo groupadd keepalived
  • 开启系统网络转发功能
1
2
3
$ sudo echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf
$ sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
$ sudo sysctl -p
  • 安装系统包
1
$ sudo yum install -y openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel
1
2
3
$ tar xzvf keepalived-x.x.x.tar.gz
$ cd keepalived-x.x.x
$ more INSTALL
  • 编译安装
1
2
3
$ sudo ./configure
$ sudo make
$ sudo make install
  • 配置Keepalived服务
1
2
3
4
5
6
7
$ sudo cp keepalived/etc/init.d/keepalived.rh.init  /etc/init.d/keepalived
$ sudo chmod +x /etc/init.d/keepalived
$ sudo systemctl daemon-reload
$ sudo chkconfig --add keepalived
$ sudo chkconfig keepalived on
$ sudo systemctl start keepalived
$ sudo systemctl status keepalived