【Haproxy】haproxy負載均衡
1.安裝
我們啟動haproxy命令
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
4 測試tcp分發:
6測試http分發
7 還可以透過域名配置分發:(因為我們網站可能對應多個域名)
參考文件
http://blog.csdn.net/youyudehexie/article/details/7606504
- 下載
-
# cd haproxy-1.4.20
-
# make TARGET=linux26 PREFIX=/usr/local/haproxy #將haproxy安裝到/usr/local/haproxy
- # make install PREFIX=/usr/local/haproxy
3配置tcp負載均衡
-
[root@localhost conf]# vi haproxy.cfg
-
global
-
log 127.0.0.1 local0
-
maxconn 4096
-
stats socket /tmp/haproxy.socket uid haproxy mode 770 level admin
-
# nbproc 2
-
pidfile /tmp/haproxy.pid
-
daemon
-
-
defaults
-
log global
-
log 127.0.0.1 local0
-
mode tcp
-
option tcplog
-
option dontlognull
-
retries 3
-
option redispatch
-
maxconn 2000
-
timeout connect 5s
-
timeout client 120s
-
timeout server 120s
-
-
listen mysql_proxy :23306 ---分發均衡的埠
-
mode tcp ---型別
-
balance roundrobin
-
server mysql_65 192.168.6.119:3306 check inter 5000 rise 2 fall 3 ###需要分發的地址
-
server mysql_67 192.168.6.122:3306 check inter 5000 rise 2 fall 3
-
-
listen private_monitoring :8101 ----web頁面檢視的埠
-
mode http
-
option httplog
-
stats enable
-
stats uri /stats ####web訪問頁面
-
stats refresh 5s
- stats auth Frank:Frank #設定監控頁面的使用者和密碼:Frank
- stats hide-version #隱藏統計頁面的HAproxy版本資訊
我們啟動haproxy命令
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
4 測試tcp分發:
- #第一次訪問:訪問到了119資料庫
-
[root@localhost conf]# mysql -uroot -pESBecs00 -P23306 -h192.168.6.121
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| db2 |
| db3 |
| hhhh |
| mysql |
| performance_schema |
| test |
| test1 |
| test2 |
| xdy_link |
+--------------------+
11 rows in set (0.07 sec)
-
#第二次訪問:訪問到了122資料庫
-
[root@localhost conf]# mysql -uroot -pESBecs00 -P23306 -h192.168.6.121
Warning: Using a password on the command line interface can be insecure.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| db2 |
| db3 |
| mysql |
| performance_schema |
| test |
| test1 |
| test2 |
+--------------------+
9 rows in set (0.09 sec)
tcp分發成功 -
登入web頁面檢查
-
5 配置http負載均衡
點選(此處)摺疊或開啟
-
[root@localhost conf]# vi haproxy.cfg
-
global
-
log 127.0.0.1 local0
-
maxconn 4096
-
stats socket /tmp/haproxy.socket uid haproxy mode 770 level admin
-
# nbproc 2
-
pidfile /tmp/haproxy.pid
-
daemon
-
-
defaults
-
log global
-
log 127.0.0.1 local0
-
mode tcp
-
option tcplog
-
option dontlognull
-
retries 3
-
option redispatch
-
maxconn 2000
-
timeout connect 5s
-
timeout client 120s
-
timeout server 120s
-
-
listen mysql_proxy :23306
- mode http ---這個地方不一樣
-
balance roundrobin
-
server mysql_65 192.168.6.119:80 check inter 5000 rise 2 fall 3
-
server mysql_67 192.168.6.122:80 check inter 5000 rise 2 fall 3
-
-
listen private_monitoring :8101
-
mode http
-
option httplog
-
stats enable
-
stats uri /stats
-
stats refresh 5s
-
stats auth Frank:Frank #設定監控頁面的使用者和密碼:Frank
-
- stats hide-version #隱藏統計頁面的HAproxy版本資訊
6測試http分發
-
[root@localhost conf]# curl 192.168.6.121:23306
-
1234 this is 192.168.6.119
-
[root@localhost conf]# curl 192.168.6.121:23306
-
thisi is 192.168.6.122
-
[root@localhost conf]# curl 192.168.6.121:23306
-
1234 this is 192.168.6.119
-
[root@localhost conf]# curl 192.168.6.121:23306
- thisi is 192.168.6.122
- 成功
7 還可以透過域名配置分發:(因為我們網站可能對應多個域名)
-
global
log 127.0.0.1 local0 info #[err warning info debug] //日誌位置
maxconn 4096
daemon #設定成後臺執行
nbproc 1 #程式數量
defaults
log global
mode http #預設模式
option httplog #http日誌格式
option dontlognull
retries 3 #三次失敗後認為伺服器不可用
option redispatch #如果cookie寫入了serverId而客戶端不會重新整理cookie,當serverId對應的伺服器掛掉後,強制定向到其他健康的服務
器
maxconn 2000 #當伺服器負載很高的時候,自動結束掉當前佇列處理比較久的連結預設的最大連線數
contimeout 5000 #連線超時
clitimeout 30000 #客戶端超時
srvtimeout 30000 #伺服器超時
frontend web_in
mode http
maxconn 1000
bind :80
acl is_a hdr_beg(host) -i #判斷域名是不是是則給與a伺服器叢集服務
acl is_b hdr_beg(host) -i #判斷域名是不是是則給與b伺服器叢集服務
use_backend a_server if is_a
use_backend b_server if is_b
backend a_server
mode http #http 模式
stats uri /haproxy
balance roundrobin
cookie JSESSIONID prefix
stats hide-version
option httpclose
server web1 218.78.186.162:8000 check
server web1 218.78.186.163:8000 check
backend b_server
mode http #http 模式
stats uri /haproxy
balance roundrobin
cookie JSESSIONID prefix
stats hide-version
option httpclose
server web1 218.78.186.162:8080 check
參考文件
http://blog.csdn.net/youyudehexie/article/details/7606504
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-1990588/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql負載均衡搭建(haproxy)MySql負載
- HAProxy 7層 負載均衡負載
- HaProxy 實現 MySQL 負載均衡MySql負載
- 負載均衡之Haproxy配置詳解負載
- 使用 haproxy 進行 TCP 負載均衡TCP負載
- 負載均衡之--Nginx、LVS、HAProxy負載Nginx
- haproxy(單機)+mysql叢集負載均衡MySql負載
- Haproxy搭建 Web 群集實現負載均衡Web負載
- Linux Haproxy Mysql讀庫負載均衡LinuxMySql負載
- HAProxy高效能軟負載均衡器負載
- RHEL 7配置HAProxy實現Web負載均衡Web負載
- HAproxy&keepalived 實現tcp負載均衡TCP負載
- HAProxy負載均衡器後續篇薦負載
- 負載均衡服務之HAProxy基礎入門負載
- Haproxy+Keepalived高可用負載均衡叢集負載
- Keepalived+HAproxy實現高可用負載均衡負載
- HAProxy負載均衡器的安裝及配置負載
- Haproxy+Keepalived+MySQL實現讀均衡負載MySql負載
- 負載均衡之Haproxy配置詳解(及httpd配置)負載httpd
- keepalived+haproxy實現mysql負載均衡高可用MySql負載
- lvs、haproxy、nginx 負載均衡的比較分析Nginx負載
- Linux上使用HAProxy配置HTTP負載均衡系統LinuxHTTP負載
- Haproxy和Nginx負載均衡測試效果對比記錄Nginx負載
- 在國產處理器伺服器上做HAProxy負載均衡伺服器負載
- 在docker中haproxy的安裝以及mysql的負載均衡配置DockerMySql負載
- Nginx、LVS、HAProxy負載均衡軟體的優缺點Nginx負載
- CentOS7+ keepalived+ haproxy搭建Mycat高可用及負載均衡CentOS負載
- LNMP+HAProxy+Keepalived負載均衡(二)- 基礎服務準備LNMP負載
- Nginx / LVS / HAProxy 負載均衡效能及優缺點探討Nginx負載
- 【MySQL】keepalived+haproxy實現mysql的高可用與負載均衡MySql負載
- Nginx/LVS/HAProxy負載均衡軟體的優缺點詳解Nginx負載
- 基於滴滴雲部署 HAProxy 實現 7 層和 4 層負載均衡負載
- LNMP+HAProxy+Keepalived負載均衡(一)- LNMP基礎環境準備LNMP負載
- mairadb+galera+haproxy+keepalived實現mysql負載均衡與高可用AIMySql負載
- Nginx/LVS/HAProxy 負載均衡軟體的優缺點詳解Nginx負載
- 3.RabbitMQ高階叢集搭建(Haproxy負載均衡、Keepalived高可用)MQ負載
- 用 HAProxy 實現網路流量的負 載 平 衡
- haproxy