/etc/haproxy/haproxy.cfg //haproxy 的配置文件mysql
haproxy默認是使用5000端口web
[root@localhost ~]# lsof -i:80 //查看一下80端口有沒有佔用sql
HAProxy-反向代理vim
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg服務器
在 backend wangdada 下frontend
添加你的real server ide
注意!:測試
frontend main *:默認是5000 ,我該成了80端口。spa
[root@localhost ~]# systemctl start haproxy3d
[root@localhost ~]# lsof -i:80
在/etc/haproxy/haproxy.cfg添加此段,能夠查看haproxy狀態
listen status
bind 0.0.0.0:8000
option httplog
stats refresh 30s
stats uri /status
stats realm Haproxy_Manager_Page
stats auth admin:admin
stats hide-version
測試:10.18.42.157:8000/status 在輸入你設置的密碼
[root@localhost ~]# systemctl restart haproxy
[root@localhost ~]# lsof -i:8000
haproxy-代理mysql
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg //添加listem msql段
[root@localhost ~]# lsof -i:3306
[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# systemctl restart haproxy
[root@localhost ~]# systemctl status haproxy
[root@localhost ~]# lsof -i:3306
而後再你的 上游服務器(真實mysql)的mysql裏面添加:
mysql> grant all on *.* to root@'10.18.42.%' identified by 'WJW952945084@qq.com';
mysql> flush privileges;
mysql> select * from mysql.user\G;
隨便找一臺機子訪問10.18.42.157,實質式訪問的是10.18.42.74
[root@www ~]# mysql -uroot -p'WJW952945084@qq.com' -h 10.18.42.157
haproxy的高可用
haproxy+keepalived
作兩個haproxy,將作好的一個配置文件cp一份,記得backup配置文件。這樣就有兩個如出一轍的haproxy,在這兩個有haproxy的服務器上都安裝上keepalived分別進行以下設置:
[root@localhost ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id wang //多個keepalived這個名字之間不能同樣
}
vrrp_script chk_haproxy { //設置一個vrrp_scrpt,名字隨意
script "lsof -i:80 | grep haproxy || exit 1" //判斷80端口有無haproxy,沒有返回1
interval 2 //兩秒判斷每一次
fail 1 //容許失敗1次
}
vrrp_instance web {
state BACKUP //本身根據狀況選擇master和backup
interface ens33
virtual_router_id 43
priority 250
nopreempt 設置爲不搶佔 注:這個配置只能設置在backup主機上,並且這個主機優先級要比另一臺高
advert_int 1
authentication {
auth_type PASS
auth_pass 1234444
}
track_script {
chk_haproxy //調用上面的腳本
}
virtual_ipaddress {
10.18.42.188
}
}
相比以往增長的內容是青色背景部分,增長了一個腳本語句,和調用這個腳本的語句。若是檢測到80端口沒有haproxy,keepalived會讓讓出VIP,VIP就會飄到另外一個keepalived服務器上。就實現了高可用性。
ndb引擎