设为首页 收藏本站
查看: 1618|回复: 0

[经验分享] 04.17.2011---启动haproxy

[复制链接]

尚未签到

发表于 2015-9-4 13:54:51 | 显示全部楼层 |阅读模式
  [1]
  http://www.google.com.hk/search?hl=en&source=hp&q=%E9%87%8D%E5%90%AF+haproxy&aq=f&oq=&aqi=
  [2]
  http://hx100.blog.iyunv.com/44326/344020
  Linux下搭建Haproxy负载均衡
环境:
haproxy:10.80.11.203
web1:10.80.11.206
web2:10.80.11.207
撰写人:hx10
日期:2010/7/5 hangzhou
Blog: http://hi.baidu.com/hx10

从官方网站:http://haproxy.1wt.eu/ 下载最新版本
# wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
# tar zcvf haproxy-1.3.20.tar.gz
# cd haproxy-1.3.20
# make TARGET=linux26 PREFIX=/usr/local/haprpxy
# make install PREFIX=/usr/local/haproxy
# cd /usr/local/haproxy
# vim haproxy.cfg
global   
        log 127.0.0.1   local0   
        #log 127.0.0.1  local1 notice   
        #log loghost    local0 info   
        maxconn 4096   
        chroot /usr/local/haproxy   
        uid 99   
        gid 99   
        daemon   
        nbproc 1   
        pidfile /usr/local/haproxy/haproxy.pid   
        #debug   
        #quiet   
  
defaults   
        log     127.0.0.1       local3   
        mode    http   
        option  httplog   
        option  httpclose   
        option  dontlognull   
        option  forwardfor   
        option  redispatch   
        retries 2   
        maxconn 2000   
        balance roundrobin   
        stats   uri     /haproxy-stats
             stats auth hx10:123456
        contimeout      5000   
        clitimeout      50000   
        srvtimeout      50000   
  
listen  web_proxy 0.0.0.0:80   
        option  httpchk GET /check.htm  
  
        server  s1 10.80.11.206:80 weight 3 check   
        server  s2 10.80.11.207:80 weight 3 check
红色标记的意思是:
uid 99                          #所属运行的用户uid
gid 99                          #所属运行的用户组
log     127.0.0.1       local3        #日志文件的输出定向
mode    http                            #所处理的类别
option  httplog                        #日志类别
balance roundrobin                     #负载均衡算法
stats   uri     /haproxy-status        #haproxy 监控页面的访问地址
stats auth hx10:123456       查看监控页,输入的用户名和密码
listen  web_proxy 0.0.0.0:80   #运行的端口及主机名
option  httpchk GET /check.htm          #健康检测
server  s1 10.80.11.206:80 weight 3 check  #web1
server  s1 10.80.11.207:80 weight 3 check  #web2
然后在web1和web2上添加/check.htm页面,内容任意
启动haproxy
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
重启haproxy
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/haproxy.pid`
停止haproxy
# killall haproxy
状态截图如下:
http://10.80.11.203/haproxy-status

本文出自 “无云安全技术站” 博客,请务必保留此出处http://hx100.blog.iyunv.com/44326/344020
  [3]
  http://www.mysqlpub.com/forum.php?mod=viewthread&tid=5343
  Haproxy 的配置相当简单,

从官方网站:http://www.haproxy.org
下载最新版本。

# wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
# tar zcvf haproxy-1.3.20.tar.gz
# cd haproxy-1.3.20
# make TARGET=linux26 PREFIX=/usr/local/haprpxy
# make install PREFIX=/usr/local/haproxy

安装完毕后,进入安装目录创建配置文件
# cd /usr/local/haproxy
# vi haproxy.cfg

配置内容如下:
global
        log 127.0.0.1   local0
        #log 127.0.0.1  local1 notice
        #log loghost    local0 info
        maxconn 4096
        chroot /usr/local/haproxy
        uid 99                          #所属运行的用户uid
        gid 99                          #所属运行的用户组
        daemon
        nbproc 1
        pidfile /usr/local/haproxy/run/haproxy.pid
        #debug
        #quiet
defaults
        log     global
        log     127.0.0.1       local3        #日志文件的输出定向
        mode    http                            #所处理的类别
        option  httplog                        #日志类别
        option  httpclose
        option  dontlognull
        option  forwardfor
        option  redispatch
        retries 2                      #设置多个haproxy并发进程提高性能
        maxconn 2000
        balance roundrobin                     #负载均衡算法
        stats   uri     /haproxy-stats        #haproxy 监控页面的访问地址
        # 可通过 http://localhost:1080/haproxy-stats 访问
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000
listen  localhost 0.0.0.0:1080                   #运行的端口及主机名
        mode    http
        option  httpchk GET /index.htm           #健康检测
        server  s1 127.0.0.1:3121 weight 3 check  #后端的主机 IP &权衡
        server  s2 127.0.0.1:3122 weight 3 check  #后端的主机 IP &权衡

启动服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
重启服务:
# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid`  (没有换行)
停止服务:
# killall haproxy
当然,为了方便系统在开机时加载,还可以创建启动脚本:
# vim /etc/rc.d/init.d/haproxy  内容如下:
#! /bin/sh
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=$PROGDIR/conf/$PROGNAME.conf
PIDFILE=$PROGDIR/run/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
start()
{
        echo -n "Starting $DESC: $PROGNAME"
        $DAEMON -f $CONFIG
        echo "."
}
stop()
{
        echo -n "Stopping $DESC: $PROGNAME"
        haproxy_pid=cat $PIDFILE
        kill $haproxy_pid
        echo "."
}
restart()
{
        echo -n "Restarting $DESC: $PROGNAME"
        $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE)
        echo "."
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
        exit 1
        ;;
esac
exit 0
保存后赐予可执行权限
# chmod +x /etc/rc.d/init.d/haproxy
就可以使用 service haproxy start|stop|restart 来控制服务的启动停止跟重启。
并通过以下命令加载到开机服务启动列表
# chkconfig --add haproxy

配置日志:
# vim /etc/syslog.conf
在最下边增加
local3.*         /var/log/haproxy.log
local0.*         /var/log/haproxy.log

重启核心日志服务使配置起效
# service syslog restart
然后就可查看日志了
# tail –f /var/log/harpoxy.log
Aug 22 15:32:06 localhost haproxy[64136]: Proxy www started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy cherokee started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy wap started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy pic started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy img started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy public started.
Aug 22 15:32:06 localhost haproxy[64136]: Proxy public started.
Aug 22 15:32:59 localhost haproxy[64137]: 219.142.128.30:6416 [22/Aug/2009:15:32:59.754] public stats/<STATS> 0/-1/-1/-1/0 200 17329 - - PR-- 0/0/0/0/0 0/0 "GET /?stats HTTP/1.1"
Aug 22 15:32:59 localhost haproxy[64137]: 219.142.128.30:6416 [22/Aug/2009:15:32:59.754] public stats/<STATS> 0/-1/-1/-1/0 200 17329 - - PR-- 0/0/0/0/0 0/0 "GET /?stats HTTP/1.1"
  [4]
  http://weizhifeng.net/2011/03/26/haproxy-configuration-log-issue/
  Haproxy 配置(日志问题解决)
Posted on 2011年03月26日 by Jeremy Wei
Haproxy是一个负载均衡服务器,能够提供4层,7层代理,并能支持上万级别的
连接,你可以直接在WEB服务器前端加上它,而不影响应用的访问,完全透明。
1. 安装1wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz
2tar -zxvf haproxy-1.4.8.tar.gz
3cd haproxy-1.4.8
4./configure --prefix=/path/to/haproxy
5make && make install
2.配置
首先要添加haproxy:haproxy用户:1groupadd haproxy
2useradd -g haproxy haproxy
3sudo cat /etc/passwd |grep haproxyc #查看uid和gid

编辑haproxy.cfg,添加如下内容:01global
02    log 127.0.0.1   local3
03    maxconn 4096            #最大连接数
04    chroot /path/to/haproxy #安装目录
05    uid 535  #用户haproxy
06    gid 520  #组haproxy
07    daemon   #守护进程运行
08    nbproc 1 #进程数量
09    pidfile logs/haproxy.pid
10defaults
11   log     127.0.0.1       local3
12   mode    http  #layer 7代理
13   option  httplog
14   option  httpclose
15   option  dontlognull
16   option  forwardfor
17   retries 2
18   maxconn 2000
19   balance roundrobin
20   stats   uri     /haproxy-stats
21   contimeout      5000
22   clitimeout      50000
23   srvtimeout      50000
24
25frontend http-in
26        bind *:80 #监听地址
27        default_backend pool1
28
29backend pool1
30        option  httpchk GET /test.php #用来做健康检查
31        stats refresh 2
32        server server1 192.168.1.1:82 weight 3 maxconn 32 check #check表示对这个server进行健康检查
33        server server2 192.168.1.2:82 weight 3 maxconn 32 check

查看后端server状态:
http://example.com/haproxy-stats1#启动
2sudo ./sbin/haproxy -f haproxy.cfg
3#重启
4sudo ./sbin/haproxy -f haproxy.cfg -st `cat logs/haproxy.pid`
3.日志问题
有童鞋说日志怎么也写不进去,我也遇到了这个问题,在这里分享下。
编辑/etc/syslog.conf文件,添加:1local3.*    /var/log/haproxy.log

编辑/etc/sysconfig/syslog文件,把SYSLOGD_OPTIONS=”-m 0&Prime; 改成 SYSLOGD_OPTIONS=”-r -m 0&Prime; #enables logging from remote machines
重启syslogd: /etc/init.d/syslog restart
tail -f -n 30 /var/log/haproxy.log 应该可以看到日志输出了:)
参考:
http://blog.chenlb.com/2009/06/install-haproxy-and-configure-load-balance.html
http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
  [5]
  [6]

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-109438-1-1.html 上篇帖子: True Zero Downtime HAProxy Reloads--转载 下篇帖子: CentOS6.5 安装HAProxy 1.5.20
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表