web架构之nginx反代负载均衡+LAP负载均衡+mysql主从(二)

web架构之nginx反代负载均衡+LAP负载均衡+mysql主从升级版

在上一篇博客:web架构之nginx反代+LAP负载均衡+mysql主从(一)基础上增加nginx负载均衡。

原架构
原架构
现架构现架构

一、新增nginx服务器:192.168.29.134

在原有的基础上开启一台新的Linux虚拟机,ip地址:192.168.29.134

1.关闭防火墙和selinux

 [root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

在这里插入图片描述

2、源码安装nginx,使用脚本一键安装

脚本内容:

#!/bin/bash
#2019年6月1日16:05:45
#this shell is install nginx
#by authors xbz
#http://nginx.org/download/nginx-1.16.0.tar.gz
nginx_ver="1.16.0"
nginx_soft="nginx-${nginx_ver}.tar.gz"
nginx_url="http://nginx.org/download/${nginx_soft}"
nginx_prefix="/usr/local/nginx/"
nginx_yilai="gcc gcc-c++  expat-devel  openssl-devel pcre pcre-devel zlib-devel"
nginx_module="--user=www \
--group=www \
--prefix=$ninix_prefix \
--with-http_stub_status_module \
--wtih-http_ssl_module "
yum install -y $nginx_yilai
      useradd www
      cd /root && wget -c ${nginx_url} && tar -zxvf ${nginx_soft} && cd nginx-${nginx_ver} ; ./configure --prefix=${nginx_prefix}
    if [ $? -eq 0 ];then
         make && make install
         cp $nginx_prefix/sbin/nginx  /etc/init.d/nginx
         chmod +x /etc/init.d/nginx
           echo -e "\033[32mThe nginx server install ok!\033[0m"
     else
           echo -e "\033[32mThe nginx server install failed!\033[0m"
     fi
           /usr/local/nginx/sbin/nginx -t

3、从192.168.29.133复制配置文件到134的/usr/loacl/nginx/cong/目录下

在这里插入图片描述

4、重新加载nginx

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload

5、修改Windows hosts 指向192.168.29.134,浏览器访问www.dz.com、www.pw.com测试nginx是否正常,Windows路由跟踪查看是否是通过134nginx访问网站;

在这里插入图片描述

二、nginx服务器配置VIP:192.168.29.188

1、在其中一台nginx服务器新增并配置网卡,具体名称已自己的服务器网卡为准;(本步骤可省略,此处只是为了测试VIP是否可用)

touch etc/sysconfig/network-scripts/ifcfg-ens33:1
cat>/etc/sysconfig/network-scripts/ifcfg-ens33:1<<EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33:1"
ONBOOT="yes"
IPADDR=192.168.29.188
NETMASK=255.255.255.0
GATEWAY=192.168.29.2
EOF

2、启用网卡ens33:1,重启网卡,查看网卡信息。(本步骤可省略,此处只是为了测试VIP是否可用)

ifup ens33:1
ifconfig | grep ens33:1

在这里插入图片描述
3、修改Windows hosts文件 ,浏览器访问测试 。(本步骤可省略,此处只是为了测试VIP是否可用)
192.168.29.188 www.dz.com www.pw.com
在这里插入图片描述
4.1、通过脚本检测nginx服务是否正常运行,宕机则在本服务器down VIP网卡并删除,另外nginx服务器ping不同VIP的情况创建VIP网卡,实现VIP自动切换到另一台nginx,客户访问web通过另一台nginx服务器代理,实现无缝漂移;
两台nginx服务器创建脚本;

vim auto_change_vip.sh

脚本内容:

#!/bin/bash
#2019年 3 月 17 日 20:42:50
#auto change service VIP
#by author xbz
#################################################
NGINX_NUM=`ps -ef|grep nginx|grep -v grep|grep -v check|wc -l`
if [ $NGINX_NUM -eq 0 ];then
ifdown ens33:1
rm -f  /etc/sysconfig/network-scripts/ifcfg-ens33:1 #删除网卡只是为了实验更直观,正常环境只需down就好了
else
ping -c 2 192.168.29.188 >/dev/null 2>&1
if [ $? -ne 0 ];then
cat>/etc/sysconfig/network-scripts/ifcfg-ens33:1<<EOF
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33:1"
ONBOOT="yes"
IPADDR=192.168.29.188
NETMASK=255.255.255.0
GATEWAY=192.168.29.2
EOF
ifup ens33:1
  fi
 fi

###############################################
授权脚本执行权限

chmod +x  auto_change_vip.sh

4.2、编写后台执行脚本auto_change_vip.sh的脚本backgrou_run.sh

vim backgrou_run.sh
#!/bin/bash
#后台运行auto_change_vip.sh
#2019年6月6日
#by xbz
while sleep 3
do
 sh /root/auto_change_vip.sh  #脚本绝对路径
done
~

脚本授权

chmod +x backgrou_run.sh

两台nginx服务器同时后台执行脚本,sleep按实际情况设置,本实验为了方便测试,设置时间较短为5s.

  nohup sh /root/backgrou_run.sh &

查看脚本运行状态
在这里插入图片描述

修改Windows hosts
在这里插入图片描述

5.1、133nginx服务器pkill nginx模拟宕机:
在这里插入图片描述
此时133上的VIP网卡已经被脚本auto_change_vip.sh给删除了。

5.2、在134上查看VIP网卡和nginx服务
在这里插入图片描述
脚本auto_change_vip.sh 成功创建VIP网卡并启用

5.3、浏览器访问网站测试OK!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.4、133启动nginx服务,134停止nginx服务测试。
在这里插入图片描述
133启用nginx,但是此时134nginx服务正常运行,VIP还在134,133虽然启动nginx服务,但是此时并未创建VIP网卡ens33:1。访问网站还是通过134nginx代理。

5.5、134nginx停止模拟宕机。
在这里插入图片描述
大概过了4秒时间左右VIP漂移到133nginx,

在这里插入图片描述

此web架构后续优化,博文持续更新
下一篇博客:web架构之nginx反代负载均衡动静分离+LAP负载均衡+mysql主从(三)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值