首页 > 代码库 > 46.Haproxy反向代理

46.Haproxy反向代理

Haproxy反向代理

haproxy的作用:反向代理服务器,当公网用户来访问web服务器时,由haproxy服务器来指定交给那个web服务器处理,以实现高可用性和群集的负载均衡。

案例实施步骤:

编译安装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

编译安装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

重启服务

#/usr/local/haproxy/sbin/haproxy  -f  /etc/haproxy.cfg

 

 

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        定义备份节点

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中。


46.Haproxy反向代理