欢迎光临小鱼网个人网站!

登录/注册
Keepalived+LVS+nginx搭建建群集式服务

1.软件安装 

172.16.28.130 lvs+keepalived
172.16.28.131 lvs+keepalived
172.16.28.132 nginx
172.16.28.133 nginx

2.安装lvs+keepalived安装

# 安装ipvs
sudo yum install ipvsadm
# 安装keepalived
sudo yum install keepalived
或者
sudo apt-get install ipvsadm
sudo apt-get install keepalived

3.安装nginx

# 安装nginx
sudo yum install nginx
或者
sudo apt-get install nginx

4.关闭防火墙

# 关闭防火墙
systemctl disable firewalld.service

5.查看是否支持lvs

sudo lsmod |grep ip_vs
# 如果看到如下结果,则说明是支持的
[zhangxufeng@localhost ~]$ sudo lsmod|grep ip_vs
ip_vs 145497 0
nf_conntrack 137239 1 ip_vs
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack

6.配置keepalived.conf文件

#编辑172.16.28.130下/etc/keepalived/keepalived.conf文件
# Global Configuration
global_defs {
 lvs_id director1 # 指定lvs的id
}
# VRRP Configuration
vrrp_instance LVS {
 state MASTER	# 指定当前节点为master节点
 interface ens33	# 这里的ens33是网卡的名称,通过ifconfig或者ip addr可以查看
 virtual_router_id 51	# 这里指定的是虚拟路由id,master节点和backup节点需要指定一样的
 priority 151	# 指定了当前节点的优先级,数值越大优先级越高,master节点要高于backup节点
 advert_int 1	# 指定发送VRRP通告的间隔,单位是秒
 authentication {
 auth_type PASS	# 鉴权,默认通过
 auth_pass 123456	# 鉴权访问密码
 }
 virtual_ipaddress {
 172.16.28.120	# 指定了虚拟ip
 }
}
# Virtual Server Configuration - for www server
# 后台真实主机的配置
virtual_server 172.16.28.120 80 {
 delay_loop 1	# 健康检查的时间间隔
 lb_algo rr	# 负载均衡策略,这里是轮询
 lb_kind DR	# 调度器类型,这里是DR
 persistence_time 1	# 指定了持续将请求打到同一台真实主机的时间长度
 protocol TCP	# 指定了访问后台真实主机的协议类型
 # Real Server 1 configuration
 # 指定了真实主机1的ip和端口
 real_server 172.16.28.132 80 {
 weight 1	# 指定了当前主机的权重
 TCP_CHECK {
 connection_timeout 10	# 指定了进行心跳检查的超时时间
 nb_get_retry 3	# 指定了心跳超时之后的重复次数
 delay_before_retry 3	# 指定了在尝试之前延迟多长时间
 }
 }
 # Real Server 2 Configuration
 real_server 172.16.28.133 80 {
 weight 1	# 指定了当前主机的权重
 TCP_CHECK {
 connection_timeout 10	# 指定了进行心跳检查的超时时间
 nb_get_retry 3	# 指定了心跳超时之后的重复次数
 delay_before_retry 3	# 指定了在尝试之前延迟多长时间
 }
 }
}

backup节点配置

# Global Configuration
global_defs {
 lvs_id director2 # 指定lvs的id
}
# VRRP Configuration
vrrp_instance LVS {
 state BACKUP	# 指定当前节点为master节点
 interface ens33	# 这里的ens33是网卡的名称,通过ifconfig或者ip addr可以查看
 virtual_router_id 51	# 这里指定的是虚拟路由id,master节点和backup节点需要指定一样的
 priority 150	# 指定了当前节点的优先级,数值越大优先级越高,master节点要高于backup节点
 advert_int 1	# 指定发送VRRP通告的间隔,单位是秒
 authentication {
 auth_type PASS	# 鉴权,默认通过
 auth_pass 123456	# 鉴权访问密码
 }
 virtual_ipaddress {
 172.16.28.120	# 指定了虚拟ip
 }
}
# Virtual Server Configuration - for www server
# 后台真实主机的配置
virtual_server 172.16.28.120 80 {
 delay_loop 1	# 健康检查的时间间隔
 lb_algo rr	# 负载均衡策略,这里是轮询
 lb_kind DR	# 调度器类型,这里是DR
 persistence_time 1	# 指定了持续将请求打到同一台真实主机的时间长度
 protocol TCP	# 指定了访问后台真实主机的协议类型
 # Real Server 1 configuration
 # 指定了真实主机1的ip和端口
 real_server 172.16.28.132 80 {
 weight 1	# 指定了当前主机的权重
 TCP_CHECK {
 connection_timeout 10	# 指定了进行心跳检查的超时时间
 nb_get_retry 3	# 指定了心跳超时之后的重复次数
 delay_before_retry 3	# 指定了在尝试之前延迟多长时间
 }
 }
 # Real Server 2 Configuration
 real_server 172.16.28.133 80 {
 weight 1	# 指定了当前主机的权重
 TCP_CHECK {
 connection_timeout 10	# 指定了进行心跳检查的超时时间
 nb_get_retry 3	# 指定了心跳超时之后的重复次数
 delay_before_retry 3	# 指定了在尝试之前延迟多长时间
 }
 }
}

7.配置nginx  172.16.28.132下nginx.conf

worker_processes auto;
# pid /run/nginx.pid;
events {
 worker_connections 786;
}
http {
 server {
 listen 80;
 # 这里是直接返回200状态码和一段文本
 location / {
 default_type text/html;
 return 200 "Hello, Nginx! Server zhangxufeng@172.16.28.132\n";
 }
 }
}
worker_processes auto;
# pid /run/nginx.pid;
events {
 worker_connections 786;
}
http {
 server {
 listen 80;
 # 这里是直接返回200状态码和一段文本
 location / {
 default_type text/html;
 return 200 "Hello, Nginx! Server zhangxufeng@172.16.28.133\n";
 }
 }
}


Copyright © www.xyubing.com All Rights Reserved. 备案号:蜀ICP备19023461号-1

免责声明:本站部分资源搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。