高可用之Nginx负载均衡+Keepalived

问:天冷怎么办?
答:手敲代码、头皮发麻、血液循环加速…就不冷啦!

问:Nginx是什么吖?
答:Nginx是一个高性能的HTTP和反向代理服务器。

问:有什么优势啊?
答:稳定性高、丰富的功能集、示例配置文件、低系统消耗。

问:有哪些应用例子不?
答:百度、新浪、网易、京东、淘宝、腾讯都在用。

问:那keepalived又是用来干嘛的?
答:keepalived作用是用来检测服务器的状态,若有一台web服务器宕机或出现故障,它会检测到并且将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作。当服务器工作正常后它会自动将其加入服务器群中。这些工作都可以自动完成、无需人工干涉。

问:那今天小陈你要分享什么?
答:今天分享的是:使用Keepalived搭建负载均衡的主备Nginx实现高可用的web应用服务器。

问:太抽象了,能简单点说吗?
答:看看介张图就很明了辣…
高可用服务简图

环境准备:
Tomcat服务器:3台
Nginx服务器:2台
注:笔者这里使用的都是Linux7版本的。

Tomcat服务器下载:
https://tomcat.apache.org/download-90.cgi

Nginx服务器下载:
http://nginx.org/en/download.html

Keepalived下载:
https://www.keepalived.org/download.html

Tomcat部署:

tar -xzf apache-tomcat-9.0.31.tar.gz

项目目录位于:apache-tomcat-9.0.31/webapps 下

配置项目根目录访问指定项目:

vi apache-tomcat-9.0.31/conf/server.xml
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="SelfSystem" debug="0" reloadable="true" />
</Host>

启动项目:

cd apache-tomcat-9.0.31/bin
./startup.sh

Nginx部署

tar -xzf nginx-1.17.8.tar.gz

编译安装nginx

cd nginx-source
./configure --prefix=/opt/nginx
make
make install

配置nginx负载均衡:

vi /opt/nginx/conf/nginx.conf

nginx负载均衡配置

启动nginx

cd /opt/nginx/sbin
./nginx

Keepalived部署

tar -xzf keepalived-2.0.19.tar.gz
cd keepalived-2.0.19/
./configure --prefix=/opt/keepalived
make
make install

主Nginx服务器的keepalived配置如下:
vi /opt/keepalived/etc/keepalived/etc/keepalived/keepalived.conf
主服务器keepalived配置

备Nginx服务器的keepalived配置如下:
vi /opt/keepalived/etc/keepalived/etc/keepalived/keepalived.conf
备Nginx服务器Keepalived配置

nginx_check.sh脚本如下:
心跳检测脚本

配置keepalived作为linux服务启动:

cp /opt/keepalived-2.0.19/keepalived/etc/init.d/keepalived /etc/init.d/  ##系统服务
cp /opt/keepalived-2.0.19/keepalived/etc/sysconfig/keepalived /etc/sysconfig/  ##系统日志

创建目录:

mkdir -p /etc/keepalived
cp /opt/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /opt/keepalived-2.0.19/bin/keepalived /sbin/keepalived

启动服务,开机自启:

systemctl start keepalived.service
systemctl enable keepalived.service

检查:两台nginx服务器中只有一台机子有这个vip,如果两台同时出现,则出现脑裂,例如当防火墙开启了的时候。

高可用测试:
测试图

一个http请求会有一台tomcat服务器响应。
由于负载均衡配置的是轮循,因此会按顺序轮流相应。

此时,尝试将主nginx服务器挂起或关机,此时,vip会自动漂移到从nginx服务器上。

ip addr | grep 192.168.2.222

主nginx服务器虽然宕机,但是从nginx服务器开始提供服务,从而实现业务不中断,实现了高可用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值