04.17.2011---启动haproxy
http://www.google.com.hk/search?hl=en&source=hp&q=%E9%87%8D%E5%90%AF+haproxy&aq=f&oq=&aqi=
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.1local1 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
optionhttplog
optionhttpclose
optiondontlognull
optionforwardfor
optionredispatch
retries 2
maxconn 2000
balance roundrobin
stats uri /haproxy-stats
stats auth hx10:123456
contimeout 5000
clitimeout 50000
srvtimeout 50000
listenweb_proxy 0.0.0.0:80
optionhttpchk GET /check.htm
servers1 10.80.11.206:80 weight 3 check
servers2 10.80.11.207:80 weight 3 check
红色标记的意思是:
uid 99 #所属运行的用户uid
gid 99 #所属运行的用户组
log 127.0.0.1 local3 #日志文件的输出定向
mode http #所处理的类别
optionhttplog #日志类别
balance roundrobin #负载均衡算法
stats uri /haproxy-status #haproxy 监控页面的访问地址
stats auth hx10:123456 查看监控页,输入的用户名和密码
listenweb_proxy 0.0.0.0:80 #运行的端口及主机名
optionhttpchk GET /check.htm #健康检测
servers1 10.80.11.206:80 weight 3 check#web1
servers1 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
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.1local1 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 #所处理的类别
optionhttplog #日志类别
optionhttpclose
optiondontlognull
optionforwardfor
optionredispatch
retries 2 #设置多个haproxy并发进程提高性能
maxconn 2000
balance roundrobin #负载均衡算法
stats uri /haproxy-stats #haproxy 监控页面的访问地址
# 可通过 http://localhost:1080/haproxy-stats 访问
contimeout 5000
clitimeout 50000
srvtimeout 50000
listenlocalhost 0.0.0.0:1080 #运行的端口及主机名
mode http
optionhttpchk GET /index.htm #健康检测
servers1 127.0.0.1:3121 weight 3 check#后端的主机 IP &权衡
servers2 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: Proxy www started.
Aug 22 15:32:06 localhost haproxy: Proxy cherokee started.
Aug 22 15:32:06 localhost haproxy: Proxy wap started.
Aug 22 15:32:06 localhost haproxy: Proxy pic started.
Aug 22 15:32:06 localhost haproxy: Proxy img started.
Aug 22 15:32:06 localhost haproxy: Proxy public started.
Aug 22 15:32:06 localhost haproxy: Proxy public started.
Aug 22 15:32:59 localhost haproxy: 219.142.128.30:6416 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: 219.142.128.30:6416 public stats/<STATS> 0/-1/-1/-1/0 200 17329 - - PR-- 0/0/0/0/0 0/0 "GET /?stats HTTP/1.1"
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 optionhttplog
14 optionhttpclose
15 optiondontlognull
16 optionforwardfor
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 optionhttpchk 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″ 改成 SYSLOGD_OPTIONS=”-r -m 0″ #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
页:
[1]