文章目录1.基本介绍1.在微服务架构中的位置2.配置前提3.主从模式架构图2.启动主Nginx和两个Tomcat1.启动linux的tomcat2.启动win的tomcat3.启动主Nginx进入安装目录 ./sbin/nginx -c nginx.conf4.windows访问 http://look.sunxiansheng.cn:7777/search/cal.jsp3.配置从Nginx1.将主虚拟机复制一份作为从虚拟机2.打开从虚拟机测试3.保证新虚拟机的ip和win在同一网段1.查看新虚拟机ip ifconfig2.查看win的ip ipconfig3.互相ping一下保证网络通畅4.保证两台虚拟机之间可以ping通5.Xshell远程登录两个虚拟机6.配置域名解析到 192.168.200.1297.修改nginx.conf修改主机名即可1.http全局块2.server块8.测试从nginx访问1.启动win的tomcat2.启动linux的tomcat3.启动从Nginx进入安装目录 ./sbin/nginx -c nginx.conf4.win测试访问 http://look2.sunxiansheng.cn:7777/search/cal.jsp9.综合测试1.由于看不出来结果的区别1.修改win的tomcat中cal.jsp的内容2.修改主从Nginx中的tomcat中的cal.jsp文件然后重启tomcat2.重启win的tomcat3.win访问主Nginx http://look.sunxiansheng.cn:7777/search/cal.jsp4.win访问从Nginx http://look2.sunxiansheng.cn:7777/search/cal.jsp4.在两台linux主机下载keepalived这里只演示一个1.将文件上传到/opt目录下2.在/opt下创建目录 /keepalived mkdir /opt/keepalived3.进入/opt目录然后将文件解压到刚才创建的目录 cd /opt/ tar -zxvf keepalived-2.0.20.tar.gz -C ./keepalived4.进入解压到的文件夹下 cd /opt/keepalived/keepalived-2.0.205. 配置文件放到/etc下安装到/usr/local下这样启动的指令就在/usr/local/sbin目录下 ./configure --sysconf/etc --prefix/usr/local6.安装 make make install7.如果安装成功检查配置目录和启动指令8.在另一台linux主机也安装一下5.完成高可用集群配置1.配置主Nginx编辑keepalived.conf的配置文件 vim /etc/keepalived/keepalived.conf2.配置从Nginx编辑keepalived.conf的配置文件 vim /etc/keepalived/keepalived.conf3.测试1.启动 两个keepalived /usr/local/sbin/keepalived2.输入 ip a看到配置的虚拟ip即成功3.使用windows来ping这个虚拟ip如果能ping通则说明可用4.如果没有ping通就是配置文件的vrrp_strict没注销1.注销vrrp_strict2.关闭keepalived killall keepalived 或者 kill -9 进程号3.再次启动 /usr/local/sbin/keepalived4.总体测试1.win访问 http://192.168.200.18:7777/search/cal.jsp 会一直访问win和主Nginx2.关闭主的keepalived来模拟主Nginx挂掉3.win再次访问 http://192.168.200.18:7777/search/cal.jsp6.编写自动检测Nginx异常脚本kill keepalived1.进入keeplived配置文件目录 cd /etc/keepalived/2.编写shell脚本 vim ch_nginx.sh3.为该脚本增加执行权限 chmod 755 ch_nginx.sh4.编写配置文件 vim /etc/keepalived/keepalived.conf5.重启主Nginx所在的keepalived killall keepalived /usr/local/sbin/keepalived6.测试1.关闭主nginx ./sbin/nginx -s stop2.浏览器访问 http://192.168.200.18:7777/search/cal.jsp7.注意事项和细节1.注意事项2.keepalived.conf 详解1.基本介绍1.在微服务架构中的位置2.配置前提3.主从模式架构图注意这里由于tomcat1在主Nginx上一旦主Nginx崩溃则这个tomcat就不可用所以才需要在从Nginx也搭建一份如果部署在独立主机上就不需要就像这个tomcat22.启动主Nginx和两个Tomcat1.启动linux的tomcat2.启动win的tomcat3.启动主Nginx进入安装目录./sbin/nginx -c nginx.conf4.windows访问 http://look.sunxiansheng.cn:7777/search/cal.jsp3.配置从Nginx1.将主虚拟机复制一份作为从虚拟机2.打开从虚拟机测试3.保证新虚拟机的ip和win在同一网段1.查看新虚拟机ipifconfig2.查看win的ipipconfig3.互相ping一下保证网络通畅4.保证两台虚拟机之间可以ping通5.Xshell远程登录两个虚拟机6.配置域名解析到 192.168.200.1297.修改nginx.conf修改主机名即可1.http全局块2.server块8.测试从nginx访问1.启动win的tomcat2.启动linux的tomcat3.启动从Nginx进入安装目录./sbin/nginx -c nginx.conf4.win测试访问 http://look2.sunxiansheng.cn:7777/search/cal.jsp9.综合测试1.由于看不出来结果的区别1.修改win的tomcat中cal.jsp的内容2.修改主从Nginx中的tomcat中的cal.jsp文件然后重启tomcat2.重启win的tomcat3.win访问主Nginx http://look.sunxiansheng.cn:7777/search/cal.jsp)4.win访问从Nginx http://look2.sunxiansheng.cn:7777/search/cal.jsp4.在两台linux主机下载keepalived这里只演示一个1.将文件上传到/opt目录下2.在/opt下创建目录 /keepalivedmkdir /opt/keepalived3.进入/opt目录然后将文件解压到刚才创建的目录cd /opt/tar -zxvf keepalived-2.0.20.tar.gz -C ./keepalived4.进入解压到的文件夹下cd /opt/keepalived/keepalived-2.0.205. 配置文件放到/etc下安装到/usr/local下这样启动的指令就在/usr/local/sbin目录下./configure --sysconf/etc --prefix/usr/local6.安装make make install7.如果安装成功检查配置目录和启动指令8.在另一台linux主机也安装一下5.完成高可用集群配置1.配置主Nginx编辑keepalived.conf的配置文件vim /etc/keepalived/keepalived.conf2.配置从Nginx编辑keepalived.conf的配置文件vim /etc/keepalived/keepalived.conf3.测试1.启动 两个keepalived/usr/local/sbin/keepalived2.输入 ip a看到配置的虚拟ip即成功3.使用windows来ping这个虚拟ip如果能ping通则说明可用4.如果没有ping通就是配置文件的vrrp_strict没注销1.注销vrrp_strict2.关闭keepalivedkillall keepalived或者kill -9 进程号3.再次启动/usr/local/sbin/keepalived4.总体测试1.win访问 http://192.168.200.18:7777/search/cal.jsp 会一直访问win和主Nginx2.关闭主的keepalived来模拟主Nginx挂掉3.win再次访问 http://192.168.200.18:7777/search/cal.jsp6.编写自动检测Nginx异常脚本kill keepalived1.进入keeplived配置文件目录cd /etc/keepalived/2.编写shell脚本vim ch_nginx.sh#!/bin/bash numps -C nginx --no-header | wc -l if [ $num -eq 0 ];then killall keepalived fi3.为该脚本增加执行权限chmod 755 ch_nginx.sh4.编写配置文件vim /etc/keepalived/keepalived.conf5.重启主Nginx所在的keepalivedkillall keepalived /usr/local/sbin/keepalived6.测试1.关闭主nginx./sbin/nginx -s stop2.浏览器访问 http://192.168.200.18:7777/search/cal.jsp这里是因为一旦停止主nginx我们的脚本就会检测出异常然后杀死keepalived的进程然后将权重-20这时再访问就只会访问到从Nginx了7.注意事项和细节1.注意事项2.keepalived.conf 详解#这里只注释要修改的地方 global_defs { notification_email { testfoxmail.com #接收通知的邮件地址 } notification_email_from Alexandre.Cassenfirewall.loc #发送邮件的邮箱 smtp_server 192.168.200.1 #smtp server 地址 smtp_connect_timeout 30 router_id Node132 #Node132 为主机标识 vrrp_skip_check_adv_addr #vrrp_strict #这里需要注释避免虚拟 ip 无法 ping 通 vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER #主节点 MASTER 备用节点为 BACKUP interface ens33 #网卡名称 virtual_router_id 51 #VRRP 组名两个节点的设置必须一样指明属于同一 VRRP 组 priority 100 #主节点的优先级1-254 之间备用节点必须比主节点优先级低 advert_int 1 #组播信息发送间隔两个节点设置必须一样 authentication { #设置验证信息两个节点必须一致 auth_type PASS auth_pass 1111 } virtual_ipaddress { #指定虚拟 IP, 两个节点设置必须一样 192.168.200.16 } }