2Nginx+keepalive+2tomcat 故障转移
2024-09-06 19:36:36
根据真实生产环境 总结。
硬件:共计2台Linux服务器 76和77 每台服务器都安装 Nginx Keepalive Tomcat
80作为虚拟ip,负责对外连接。 78和79是两台mysql数据库,读写分离。
效果:如果一台服务器产生故障,另一台马上接替服务
重点:在于keepalive心跳的配置
安装过程此处省略……
安装完成后首先配置 Keepalive
1.Keepalive
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占
(76)主机
! Configuration File for keepalived
global_defs {
notification_email {
xxxx@139.com 切换等操作时 email通知邮件地址
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HTTP_HA
}
vrrp_sync_group VG_1 { 同步组设置
group {
VI_1
}
#notify_master /home/notify_master.sh
#notify_backup /home/notify_backup.sh
#notify_fault /home/notify_fault.sh
}
vrrp_instance VI_1 { 实例设置
preempt_delay 300 抢占延迟
state BACKUP 实例初始状态(确定主备)
#smtp_alert
interface eth0 实例节点固有IP(非VIP)的网卡,用来发VRRP包
virtual_router_id 51 设置VRID这里非常重要 相同的VRID为一个组他将决定多播的MAC地址
advert_int 1 检查间隔默认为1秒
authentication {
auth_type PASS 认证方式可以是PASS或AH两种认证方式
auth_pass 1111 认证密码
}
nopreempt # backup server comment it (从机 注释此参数)
priority 150 # backup server change to 100 用来选举master的数字越大,优先级越高
virtual_ipaddress { 设置虚拟IP
10.0.0.80/24 dev eth0
}
}
(77)从机
! Configuration File for keepalived
global_defs {
notification_email {
xxxx@139.com 切换等操作时 email通知邮件地址
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HTTP_HA
}
vrrp_sync_group VG_1 { 同步组设置
group {
VI_1
}
#notify_master /home/live800/working/keepalived/notify_master.sh
#notify_backup /home/live800/working/keepalived/notify_backup.sh
#notify_fault /home/live800/working/keepalived/notify_fault.sh
}
vrrp_instance VI_1 { 实例设置
preempt_delay 300 抢占延迟
state BACKUP 实例初始状态(确定主备)
#smtp_alert
interface eth0 实例节点固有IP(非VIP)的网卡,用来发VRRP包
virtual_router_id 51 设置VRID这里非常重要 相同的VRID为一个组他将决定多播的MAC地址
advert_int 1 检查间隔默认为1秒
authentication {
auth_type PASS 认证方式可以是PASS或AH两种认证方式
auth_pass 1111 认证密码
}
#nopreempt # backup server comment it (从机 注释此参数)
priority 100 # backup server change to 100 用来选举master的数字越大,优先级越高
virtual_ipaddress { 设置虚拟IP 可以设置多个
10.0.0.80/24 dev eth0
}
}
2.Nginx
这里只列出主要几行配置
(10.0.0.76)(10.0.0.77)
upstream TomcatServer {
server 127.0.0.1:8080 max_fails=0 fail_timeout=10s;
}
server {server_name localhost;
listen 80;
include proxy.conf;
location / {
proxy_pass http://TomcatServer;
}
location /ns {include stub_status.conf;}
}
}
3.Tomcat
不必做特殊设置
最新文章
- ThinkPHP 关于namespace的事儿
- C#反射 获取程序集信息和通过类名创建类实例(转载)
- 最全js 放大镜效果
- Redis入门之增删改查等常用命令总结
- 数据结构——基于java的链表实现(真正理解链表这种数据结构)
- scrapy-logging
- 软件项目第一次Sprint总结
- Mysql InnoDB 数据更新导致锁表
- Unity---关于游戏小包的记录
- gridview 显示数据库中的超链接
- 流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务
- 【Bootloader】探究bootloader,分析u-boot源码
- 收集的PHP工具及类库
- poj 1743 后缀数组 最长不重叠子串
- 深度学习方法(八):自然语言处理中的Encoder-Decoder模型,基本Sequence to Sequence模型
- Q606 根据二叉树创建字符串
- return super(ParamValueInline,self).formfield_for_foreignkey(db_field,request,**kwargs)自己返回自己的父类
- Python——string
- Ubuntu 下nginx 的卸载 与重新装
- netstat命令简单使用