首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Keepalived+Nginx 实现高可用 Web 负载均衡

上周网盾科技发布的一篇关于CentOS7配置的文章,有很多小伙伴都收藏了,想必是对大家很有帮助,那么今天网盾科技再给大家分享一篇关于Keepalived + Nginx 实现高可用 Web 负载均衡的文章,小白必看哟!

一、Keepalived 简要介绍

Keepalived 是一种高性能的服务器高可用或热备解决方案, Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。

二、系统和软件准备

CentOS 6.5 x64

keepalived-1.2.18.tar.gz

nginx-1.13.0.tar.g

三、安装Nginx

1.安装编译 Nginx 所需的依赖包

[root@wangdun1 ~]# yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.下载Nginx

3.编译安装 Nginx

[root@wangdun1]# tar -zxvf nginx-1.13.0.tar.gz

[root@wangdun1]# cd nginx-1.13.0

[root@wangdun1]#./configure --prefix=/usr/local/nginx

[root@wangdun1]# make && make install

4.配置 Nginx

[root@wangdun1 ~]# vim /usr/local/nginx/conf/nginx.conf

修改 两个节点Nginx 首页内容:

[root@wangdun1 ~]# vim /usr/local/nginx/html/index.html

5.系统防火墙打开端口 88

6.测试 Nginx 是否安装成功

7.启动 Nginx

[root@wangdun1 ~]# /usr/local/nginx/sbin/nginx

重启 Nginx

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

8.设置 Nginx 开机启动

9.分别访问两个 Nginx

四、安装 Keepalived

1.上传keepalived

上传keepalived-1.2.18.tar.gz 到 /usr/local/src 目录

2.解压安装

[root@wangdun1 ~]# cd /usr/local/src

[root@wangdun1 ~]# tar -zxvf keepalived-1.2.18.tar.gz

[root@wangdun1 ~]# cd keepalived-1.2.18

[root@wangdun1 ~]#./configure --prefix=/usr/local/keepalived

[root@wangdun1 ~]# make && make install

3.将 keepalived 设置为系统服务

因为没有使用 keepalived 的默认路径安装(默认是/usr/local) ,安装完成之后,需要做一些工作复制默认配置文件到默认路径

[root@wangdun1 ~]# mkdir /etc/keepalived

[root@wangdun1 ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

[root@wangdun1 ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

[root@wangdun1 ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

[root@wangdun1 ~]# ln -s /usr/local/sbin/keepalived /usr/sbin/

[root@wangdun1 ~]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/

设置 keepalived 服务开机启动

[root@wangdun1 ~]# chkconfig keepalived on

4.修改 Keepalived 配置文件

(1) MASTER 节点配置文件(192.168.2.5)

(2) BACKUP 节点配置文件(192.168.2.6)

5.编写 Nginx 状态检测脚本

编写 Nginx 状态检测脚本 /etc/keepalived/nginx_check.sh脚本要求:如果 nginx 停止运行,尝试启动,如果无法启动则杀死本机的 keepalived 进程, keepalied将虚拟 ip 绑定到 BACKUP 机器上。 内容如下:

保存后,给脚本赋执行权限:

[root@wangdun1 ~]# chmod +x /etc/keepalived/nginx_check.sh

6.启动 Keepalived

[root@wangdun1 ~]# service keepalived start

7.Keepalived+Nginx 的高可用测试

同时启动192.168.2.5和192.168.2.6上的Nginx和Keepalived,我们通过VIP(192.168.2.10)来访问Nginx,如下

我们关闭192.168.2.5上的Keepalived和Nginx

[root@wangdun1 ~]# service keepalived stop

[root@wangdun1 ~]# /usr/local/nginx/sbin/nginx -s stop

此时,再通过VIP(192.168.2.10)来访问Nginx,如下

我们再开启192.168.2.5上的Keepalived和Nginx

[root@wangdun1 ~]# service keepalived start

因为我们写了脚本nginx_check.sh,这个脚本会为我们自动自动Nginx。

此时,我们再通过VIP(192.168.2.10)来访问Nginx,如下

至此,Keepalived + Nginx 实现高可用 Web 负载均衡搭建完毕。

经过上面的讲解,相信大家对Keepalived + Nginx 实现高可用 Web 负载均衡有了基本的了解,想知道更多全面的内容,请关注网盾科技。网盾科技15年专注互联网IDC服务,在网盾科技可以找到你们想要的服务器知识!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200601A0DSKK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券