[root@vmware-130 ~]# tar xf haproxy-1.4.26.tar.gz [root@vmware-130 ~]# cd haproxy-1.4.26
[root@vmware-130 haproxy-1.4.26 ]# make TARGET=linux26 CPU=x86_64 USE_STATIC_PCRE=1 USE_LINUX_TPROXY=1
[root@vmware-130 haproxy-1.4.26 ]# make install target=linux26 [root@vmware-130 haproxy-1.4.26 ]# mkdir -p /usr/local/haproxy/sbin [root@vmware-130 haproxy-1.4.26 ]# mkdir -p /data/haproxy/{conf,run,logs} [root@vmware-130 haproxy-1.4.26 ]# ln -s /usr/local/sbin/haproxy /usr/local/haproxy/sbin
4. 创建haproxy启动脚本
[root@vmware-130 ~]# vim /etc/init.d/haproxy #!/bin/sh # haproxy
# chkconfig: 35 85 15
# description: HAProxy is a free, very fast and reliable solution # offering high availability, load balancing, and \\ # proxying for TCP and HTTP-based applications # processname: haproxy
# config: /data/haproxy/conf/haproxy.cfg # pidfile: /data/haproxy/run/haproxy.pid
# Source function library. . /etc/rc.d/init.d/functions
# Source networking configuration. . /etc/sysconfig/network
# Check that networking is up. [ \= \] && exit 0
\\ config=\exec=\prog=$(basename $exec)
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/haproxy
check() {
$exec -c -V -f $config }
start() {
$exec -c -q -f $config if [ $? -ne 0 ]; then
echo \in configuration file, check with $prog eck.\
return 1 fi
echo -n $\$prog: \
# start it up here, usually something like \$exec\ daemon $exec -D -f $config -p /data/haproxy/run/$prog.pid retval=$? echo
[ $retval -eq 0 ] && touch $lockfile return $retval }
stop() {
echo -n $\$prog: \
# stop it here, often \$prog\ killproc $prog
ch retval=$? echo
[ $retval -eq 0 ] && rm -f $lockfile return $retval }
restart() {
$exec -c -q -f $config if [ $? -ne 0 ]; then
echo \in configuration file, check with eck.\
return 1 fi stop start }
reload() {
$exec -c -q -f $config if [ $? -ne 0 ]; then
echo \in configuration file, check with eck.\
return 1 fi
echo -n $\$prog: \
$exec -D -f $config -p /data/haproxy/run/$prog.pid -sf ata/haproxy/run/$prog.pid) retval=$? echo
return $retval }
force_reload() {
$prog ch$prog ch$(cat /d restart }
fdr_status() { status $prog }
case \in
start|stop|restart|reload) $1 ;; force-reload) force_reload ;; checkconfig) check ;; status)
fdr_status ;;
condrestart|try-restart)
[ ! -f $lockfile ] || restart ;; *)
echo $\$0 {start|stop|status|checkconfig|restart|try-restart|reload|force-reload}\ exit 2 esac
备注:此脚本stop的时候有问题,有待解决。
#添加haproxy服务
[root@vmware-130 ~]# echo \
[root@vmware-130 ~]# sysctl -p
[root@vmware-130 ~]# chmod 755 /etc/init.d/haproxy [root@vmware-130 ~]# chkconfig --add haproxy [root@vmware-130 ~]# chkconfig haproxy on
5.安装keepalived
[root@vmware-130 ~]# cd /data/packages
[root@vmware-130 ~]# tar zxvf keepalived-1.2.16.tar.gz [root@vmware-130 ~]# cd keepalived-1.2.16
[root@vmware-130 keepalived-1.2.16 ]# ./configure
--with-kernel-dir=/usr/src/kernels/2.6.32-504.16.2.el6.x86_64/
\\\\若/usr/src/kernels/目录下为空,那么安装kernel-headers和kernel-devel包 yum install -y kernel-header kernel-devel
[root@vmware-130 keepalived-1.2.16 ]# make && make install
6.配置keepalived,添加keepalived 服务
[root@vmware-130 ~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ [root@vmware-130 ~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@vmware-130 ~]# mkdir -p /data/keepalived/{conf,scripts} [root@vmware-130 ~]# cp /usr/local/sbin/keepalived /usr/sbin/ [root@vmware-130 ~]# chkconfig --add keepalived [root@vmware-130 ~]# chkconfig keepalived on
7. 配置haproxy.cfg配置文件( 43.130, 43.132 配置,haproxy.cfg配置文件完全一样 )
[root@vmware-130 ~]# vim /usr/local/haproxy/conf/haproxy.cfg ########### 全局配置 ######### global
log 127.0.0.1 local0 err chroot /usr/local/haproxy