天天看點

46.Haproxy反向代理

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日志自定義位置

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    & ~

繼續閱讀