最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

haproxy安装和配置超详细步骤(全部流程)

来源:动视网 责编:小OO 时间:2025-10-03 00:38:23
文档

haproxy安装和配置超详细步骤(全部流程)

haproxy安装和配置步骤(全部流程)此文档是根据网上查找的资料,并通过测试成功配置haproxy负载均衡器整理出来的,这里我将所有操作步骤一步步列出来,这样可以节省大家很多的时间,而且最主要的是非常适合刚开始接触linux系统的初学者,即使什么都不懂也可以完成配置。部署在centos6.5系统软件版本haproxy-1.5.15(1.3.20也可以用过)假设公网ip地址10.10.10.10本人都是以管理员身份进行安装。下载软件wgethttp://www.haproxy.org/down
推荐度:
导读haproxy安装和配置步骤(全部流程)此文档是根据网上查找的资料,并通过测试成功配置haproxy负载均衡器整理出来的,这里我将所有操作步骤一步步列出来,这样可以节省大家很多的时间,而且最主要的是非常适合刚开始接触linux系统的初学者,即使什么都不懂也可以完成配置。部署在centos6.5系统软件版本haproxy-1.5.15(1.3.20也可以用过)假设公网ip地址10.10.10.10本人都是以管理员身份进行安装。下载软件wgethttp://www.haproxy.org/down
haproxy安装和配置步骤(全部流程)

此文档是根据网上查找的资料,并通过测试成功配置haproxy负载均衡器整理出来的,这里我将所有操作步骤一步步列出来,这样可以节省大家很多的时间,而且最主要的是非常适合刚开始接触linux系统的初学者,即使什么都不懂也可以完成配置。

部署在centos 6.5系统

软件版本haproxy-1.5.15(1.3.20也可以用过)

假设公网ip地址10.10.10.10

本人都是以管理员身份进行安装。

下载软件

wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.15.tar.gz

解压

tarzxf haproxy-1.5.15.tar.g

进入文件夹后开始安装

cd haproxy-1.5.15

make TARGET=linux26 PREFIX=/usr/local/haproxy

#上一条命令如果提示没有gcc编译器,使用下述语句进行安装

yum install ncurses-develgccgcc-c++ make rpm-build  

make install PREFIX=/usr/local/haproxy

cd /usr/local/haproxy/

mkdirconf

mkdir logs

cd conf #配置文件放在此目录里

以上命令万一有看不懂的哈哈,请上网查一下。

#创建配置文件

vimhaproxy.cfg

#如果提示没有vim ,使用下述语句进行安装

yum install vim

复制以下haproxy.cfg配置文件里的代码(可以在windows里创建好文件,用记事本打开编辑好了上传到/usr/local/haproxy/conf文件夹里)

global

log 127.0.0.1 local0

log 127.0.0.1 local3

#log 127.0.0.1 local1 notice

maxconn 60000

chroot /usr/local/haproxy

uid 501

gid 501

daemon

pidfile /usr/local/haproxy/logs/haproxy.pid

defaults

log global

optionhttplog

mode http

balance source

optiondontlognull

option http-server-close

optionforwardfor except 127.0.0.1

optionredispatch

retries 3

optionredispatch

maxconn 60000

timeout http-request 10s

timeout queue 1m

timeout connect 10s

timeout client 1m

timeout server 1m

timeout http-keep-alive 10s

timeout check 10s

maxconn 60000

#listen admin_stats

#bind 0.0.0.0:80

#mode http

#option httplog

#maxconn 10

stats refresh 30s

stats uri /haproxy-stats#注释:运行状态、后端服务器监控地址,上面说公网ip地址10.10.10.10那在浏览器里打开网址10.10.10.10/haproxy-stats,输入下面设置帐号密码,即可查看

stats auth帐号:密码#注释:这里自己设置帐号和密码,

stats hide-version

#注释:本人用到acl规则可以一台haproxy分别处理不同的域名

frontendweblb

bind *:80

acl w2017hdr_reg(host) -i ^(Taiwan.test.com|hongkong.test.com|usa.test.com)$

acl w2016_web hdr_reg(host) -i www.test.com

#注释:这w2017,www2017就是随便命名的而已别乱就行。

use_backend www2017 if w2017  

use_backend www2016 if w2016

mode http

optionhttplog

backend www2017

balance source

optionhttpchk

#注释:下面是后端服务器地址,端口号可以不用是80,注意防火墙要放行端口号,端口号后面是权重,健康检测等等。

server web1123.11.23.13:12345 weight 1 check inter 2000 rise 2 fall 5

server web221.11.23.12:80 weight 1 check inter 2000 rise 2 fall 5

backend www2016

balance source

optionhttpchk

server web2016123.11.23.2:8888 weight 1 check inter 2000 rise 2 fall 5

server web20162 22.90.123.12:7777 weight 1 check inter 2000 rise 2 fall 5

然后按esc键再输入:wq保存退出,有不知道的?详细到每一个按键~~~

#启动haprox

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg&

#重启haproxy

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid`

#停止haproxy

killallhaproxy

创建haproxy启动脚本(注意此文件没有扩展名就是haproxy)

放在目录/etc/init.d/下

vim /etc/init.d/haproxy

复制下面代码

#!/bin/bash

#

# 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: /etc/haproxy.cfg

# pidfile: /var/run/haproxy.pid

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

config="/usr/local/haproxy/conf/haproxy.cfg"

exec="/usr/local/haproxy/sbin/haproxy"

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 "Errors in configuration file, check with $prog check."

return 1

fi

echo -n $"Starting $prog: "

    # start it up here, usually something like "daemon $exec"

daemon $exec -D -f $config -p /var/run/$prog.pid

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

    # stop it here, often "killproc $prog"

killproc $prog

retval=$?

echo

[ $retval -eq 0 ] &&rm -f $lockfile

return $retval

}

restart() {

    $exec -c -q -f $config

if [ $? -ne 0 ]; then

echo "Errors in configuration file, check with $prog check."

return 1

fi

stop

start

}

reload() {

    $exec -c -q -f $config

if [ $? -ne 0 ]; then

echo "Errors in configuration file, check with $prog check."

return 1

fi

echo -n $"Reloading $prog: "

    $exec -D -f $config -p /var/run/$prog.pid -sf $(cat /var/run/$prog.pid)

retval=$?

echo

return $retval

}

force_reload() {

restart

}

fdr_status() {

status $prog

}

case "$1" in

start|stop|restart|reload)

        $1

        ;;

force-reload)

force_reload

        ;;

checkconfig)

check

        ;;

status)

fdr_status

        ;;

condrestart|try-restart)

      [ ! -f $lockfile ] || restart

    ;;

    *)

echo $"Usage: $0 {start|stop|status|checkconfig|restart|try-restart|reload|force-reload}"

exit 2

esac

按esc键再输入:wq保存退出

chmod +x /etc/init.d/haproxy #给予执行权限

chkconfig --add haproxy #添加开机启动

正确配置日志

编辑/etc/haproxy/haproxy.conf

global

log 127.0.0.1 local3  #如果我的代码里已经有了就不用

编辑系统日志配置

vim /etc/rsyslog.conf

默认有下面的设置,会读取 /etc/rsyslog.d/*.conf目录下的配置文件

 $IncludeConfig /etc/rsyslog.d/*.conf

按esc键再输入:wq保存退出

为haproxy创建一个的配置文件

vim /etc/rsyslog.d/haproxy.conf

$ModLoadimudp

$UDPServerRun 514

local3.*     /var/log/haproxy.log

按esc键再输入:wq保存退出

#如果不加下面的的配置则除了在/var/log/haproxy.log中写入日志外,也会写入message文件&~

配置rsyslog的主配置文件,开启远程日志

vim /etc/sysconfig/rsyslog

 SYSLOGD_OPTIONS=”-c 2 -r -m 0″

按esc键再输入:wq保存退出

 #-c 2 使用兼容模式,默认是 -c 5

 #-r 开启远程日志

 #-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能

重启haproxy和rsyslog服务

/etc/init.d/rsyslog restart

下图是监控截图页面。

任何人进入haproxy.cfg文件只要把域名改一下,再把后端的服务器地址和端口改一下,就可以使用了,还有不明白的请留言吧!

如有需要还会给大家带来关于ssl证书的配置方法。

还有高可用主备haproxy配置也可以实现(这里我需要3个IP,一个IP做VIP用来实现主haproxy云服务器宕机无法使用时漂移到另一台备用haproxy云主机上)。

我也刚接触,自己上网查资料整理的,写的都是小白操作方法,欢迎高手多多指点,代码有什么不对的,欢迎更正!如有侵权,请告诉我删除!

文档

haproxy安装和配置超详细步骤(全部流程)

haproxy安装和配置步骤(全部流程)此文档是根据网上查找的资料,并通过测试成功配置haproxy负载均衡器整理出来的,这里我将所有操作步骤一步步列出来,这样可以节省大家很多的时间,而且最主要的是非常适合刚开始接触linux系统的初学者,即使什么都不懂也可以完成配置。部署在centos6.5系统软件版本haproxy-1.5.15(1.3.20也可以用过)假设公网ip地址10.10.10.10本人都是以管理员身份进行安装。下载软件wgethttp://www.haproxy.org/down
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top