一、环境准备
服务器 | IP地址eth1 | IP地址eth2 | 作用 | 程序 |
---|---|---|---|---|
服务器A | 192.168.17.173 | 172.17.17.173 | Haproxy(主) | Haproxy+keepaived |
服务器B | 192.168.17.174 | 172.17.17.174 | Haproxy(从) | Haproxy+keepaived |
服务器C | 192.168.17.175 | 172.17.17.175 | real-server | LNMP的小米商城 |
服务器D | 192.168.17.176 | 172.17.17.176 | real-server | LNMP的小米商城 |
二、Haproxy(主)服务器的配置
1.keepaived(主)配置
yum install keepalived -y
vim /etc/keepalived/keepalived.conf
#VI-1 作为提供前段服务接口的IP
#VI-2 作为提供stats访问页面的IP
#让这两个IP一起漂移
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root_keepalived
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth2
virtual_router_id 14
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 2121
}
virtual_ipaddress {
172.17.17.1
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 15
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 2121
}
virtual_ipaddress {
192.168.17.1
}
}
2.Haproxy配置
yum install haproxy -y
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
#配置日志,需要在/etc/rsyslog.conf中添加 local2.* /var/log/haproxy.log
nbproc 1
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
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 3000
frontend http 172.17.17.1:80
default_backend xiaomi
backend xiaomi
balance roundrobin
#option httpchk GET /index.php
server xiaomi_175 192.168.17.175:80 check
server xiaomi_176 192.168.17.176:80 check
listen stats #定义一个统计报告服务
mode http #基于http协议
bind 192.168.17.1:1900 #监听1080端口
stats enable #开启统计报告服务
stats hide-version #隐藏统计报告版本信息
stats uri /haproxy?111 #统计报告访问url
stats realm Haproxy\ Statistics #页面登陆信息
stats auth admin:admin #验证账号信息
stats admin if TRUE #验证模式
systemctl start keepalived haproxy
三、Haproxy(从)服务器的配置
yum install keepalived -y
1.keepaived(从)配置
区别只是keepalived中的优先级不同
vim /etc/keepalived/keepalived.conf
#VI-1 作为提供前段服务接口的IP
#VI-2 作为提供stats访问页面的IP
#让这两个IP一起漂移
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from root_keepalived
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth2
virtual_router_id 14
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2121
}
virtual_ipaddress {
172.17.17.1
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth1
virtual_router_id 15
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2121
}
virtual_ipaddress {
192.168.17.1
}
}
2.Haproxy配置
同上一个服务器的Haproxy配置没有区别
yum install haproxy -y
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
#配置日志,需要在/etc/rsyslog.conf中添加 local2.* /var/log/haproxy.log
nbproc 1
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
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 3000
frontend http 172.17.17.1:80
default_backend xiaomi
backend xiaomi
balance roundrobin
#option httpchk GET /index.php
server xiaomi_175 192.168.17.175:80 check
server xiaomi_176 192.168.17.176:80 check
listen stats #定义一个统计报告服务
mode http #基于http协议
bind 192.168.17.1:1900 #监听1080端口
stats enable #开启统计报告服务
stats hide-version #隐藏统计报告版本信息
stats uri /haproxy?111 #统计报告访问url
stats realm Haproxy\ Statistics #页面登陆信息
stats auth admin:admin #验证账号信息
stats admin if TRUE #验证模式
systemctl start keepalived haproxy
四、配置realserver的服务
systemctl start nginx php-fpm mariadb