實驗環境:centos-6.5
HAproxy:172.16.20.1&&192.168.100.254
node1:192.168.100.1 靜態服務器
node2:192.168.100.2 動態服務器
通過前端HAproxy反向代理上游web站點服務器,實現動靜分離的效果來提高網站的快速性和安全性!
-----------------------------------------------------------------------------------------
1.現在HAproxy安裝和配置前端服務器
[root@haproxy ~]# yum install haproxy
2.安裝完畢後查看都生成
[root@haproxy ~]# rpm -ql haproxy
/etc/haproxy
/etc/haproxy/haproxy.cfg
/etc/logrotate.d/haproxy
/etc/rc.d/init.d/haproxy
/usr/bin/halog
/usr/sbin/haproxy
3.編輯HAproxy主配置文件,添加代理到後端的規則
[root@haproxy haproxy]# vim haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 5000 最大連接數
user haproxy 服務使用戶
group haproxy 使用的組
daemon 守護進程
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
----------------------------------------------------------------------
上述是全局段,一般不用什麼修改。
----------------------------------------------------------------------
defaults
mode http 使用協議
log global 全局日誌記錄
option httplog 詳細記錄http日誌
option dontlognull 不記錄空日誌
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 30000
listen stats 監聽的管理後臺
mode http 服務模式
bind 172.16.20.1:888 指定ip地址和端口號
stats enable 開啓狀態頁面
stats hide-version 不顯示頭部信息
stats uri /haproxyadmin?stats 訪問的路徑
stats realm Haproxy\ Statistics 加密方式
stats auth admin:admin 認證的用戶和密碼
stats admin if TRUE
frontend http-in 監聽的前端服務
bind *:80 端口
mode http
log global
option httpclose
option logasap
option dontlognull
capture request header Host len 20
capture request header Referer len 60
acl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheets /css CAL訪問規則的動態頁面
acl url_static path_end -i .jpg .jpeg .gif .png .js
匹配靜態頁面
use_backend static_servers ifurl_static 匹配到的
default_backend dynamic_servers 默認交給那個服務器
backend static_servers 定義後端服務器的靜態組
balance roundrobin 算法
server web1 192.168.100.1:80 check maxconn 8000
# server web2 192.168.100.2:80 check maxconn 8000
backend dynamic_servers 定義到後端服務器的動態組
balance source 算法
# server web1 192.168.100.1:80 check maxconn 2000
server web2 192.168.100.2:80 check maxconn 2000
查看HAproxy服務器狀態圖形管理界面