Haproxy反向代理
haproxy的作用:反向代理服务器,当公网用户来访问web服务器时,由haproxy服务器来指定交给那个web服务器处理,以实现高可用性和群集的负载均衡。
案例实施步骤:
v 编译安装niginx服务器
# yum -y install pcre-devel zlib-devel
# useradd -M -s /sbin/nologin nginx
# tar xzvf nginx-1.6.0.tar.gz
# cd nginx-1.6.0
#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
#make && make install
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
#nginx
#netstat -lnupt |grep :80
#echo 1111 > /usr/local/nginx/html/index.html
v 编译安装haproxy服务器
#yum -y install pcre-devel bzip2-devel
#tar xzvf haproxy-1.4.24.tar.gz
#cd haproxy-1.4.24
#make TARGET=linux26 PREFIX=/usr/local/haproxy
#make install PREFIX=/usr/local/haproxy
#cp examples/haproxy.cfg /etc
v 重启服务
#/usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg
v Haproxy服务器配置
#vim /etc/haproxy.cfg
修改内容:
Global
Log 127.0.0.1 local0 配置日志记录,local0为日志设备
Log127.0.0.1 local1 notice notice为日志级别,通常有24个级别
#log loghostlocal10 info
Maxconn 4096 最大连接数
Uid 99 用户uid
Gid 99 用户gid
Daemon 用户
#debug
#quiet
Defaults
Log global 定义日志为全局配置中的日志
Modehttp 模式为http
Option httplog 采用http日志格式记录日志
Option dontlognull
Retries 3 检查节点服务器失败次数
Maxconn 2000 最大连接数
Contimeout 5000 连接超时时间
Clitimeout 50000 客户端超时时间
Srvtimeout 50000 服务器超时时间
Listen webcluster 0.0.0.0:80 定义一个应用
Option httpchk GET /index.html 检查服务器的index.html文件
Balance roundrobin 负载均衡调度算法使用轮询算法rr
Server inst1 1.1.1.1:80 check inter 2000 fall 3 定义在线节点
Server inst2 1.1.1.2:80 check inter 2000 fall 3 定义备份节点
v haproxy日志自定义位置
#vim /etc/haproxy.cfg
修改内容:
Log /dev/log local0 info
Log /dev/log local0 notice
#touch /etc/rsyslog.d/haproxy.conf
#vim /etc/rsyslog.d/haproxy.conf
添加内容:
If ($programname == ‘haproxy’ and $syslogserverity-text == ‘info’) then -/var/log/haproxy/haproxy-info.log & ~
If ($programname == ‘haproxy’ and $syslogserverity-text == ‘notice’) then -/var/log/haproxy/haproxy-notice.log & ~
#/usr/local/haproxy/sbin/haproxy -f /etc/haproxy.cfg
注:haproxy的日志默认是输出到系统的syslog中。