记录一下Centos7+Nginx+keepalived高可用搭建

搭建前准备

我们拿两台虚拟机来搭建nginx高可用环境,这两台设备分别是192.168.32.122 和 192.168.32.123并且都能够上网。

虚拟机搭建可以参考 https://blog.csdn.net/weixin_35790330/article/details/83240618 这篇博客来学习。
配置静态IP和配置上网可以参考https://blog.csdn.net/qq_34924407/article/details/79967650

以下内容转载博客
https://blog.csdn.net/u012453843/article/details/69396434
https://blog.csdn.net/li741738798/article/details/117017743?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1
https://blog.csdn.net/lixin412524/article/details/112480605
https://blog.csdn.net/qq_40664441/article/details/102868961
我只是综合了一下各位大佬的代码

开始:
我这边使用的是SecureCrt.exe来敲命令,
登录上你的两台虚拟机就可以实现同时向两台虚拟机发送命令了。
下载完之后首先打开水平平铺
在这里插入图片描述
接着打开交互窗口
在这里插入图片描述
选择多个窗口即可
在这里插入图片描述

安装依赖

1.安装vim命令,使用命令:yum install vim-enhanced
2.安装gcc,使用命令:yum install make cmake gcc gcc-c++
3.安装依赖:yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel wget

安装nginx

1.下载nginx安装包

wget http://nginx.org/download/nginx-1.6.2.tar.gz

2.解压nginx-1.6.2.tar.gz到/usr/local/目录下

tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/

3.cd /usr/local
进入到/usr/local目录下,可以看到我们解压后的nginx-1.6.2文件夹了,然后我们进行configure配置,命令:cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx。可以看出,这条命令是组合命令,先进入nginx-1.6.2目录然后在执行./configure命令。

4.编译安装

make && make install

5.启动Nginx

/usr/local/nginx/sbin/nginx

启动完之后检查nginx是否已经正常启动
ps -ef | grep nginx 看到如下信息说明正常启动。
在这里插入图片描述
6.配置防火墙策略
firewall-cmd --permanent --add-port=80/tcp #添加端口
添加完80端口后重启防火墙即可在本机访问虚拟机IP网址(nginx默认80端口)
firewall-cmd --reload #重新加载防火墙策略
firewall-cmd --list-all 查看策略

防火墙相关命令:
1、查看防火墙状态 : systemctl status firewalld.service
注:active是绿的running表示防火墙开启
2、关闭防火墙 :systemctl stop firewalld.service
3、开机禁用防火墙自启命令 :systemctl disable firewalld.service
4、启动防火墙 :systemctl start firewalld.service
5、防火墙随系统开启启动 : systemctl enable firewalld.service
6、重启防火墙 : firewall-cmd --reload

7.修改一下nginx的index页面 好区分不同虚拟机
(1)cd /usr/local/nginx/html
(2)vi index.html
(3)进来修改页面后按A进行编辑,编辑完成后按esc键输入:wq保存退出
虚拟机1
在这里插入图片描述
虚拟机2
在这里插入图片描述
(4)重启nginx刷新页面就可以看到修改的页面了

cd /usr/local/nginx/sbin
./nginx -s reload

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装Keepalived

安装依赖yum install curl libnl3-devel net-snmp-devel libnfnetlink-devel -y
1.下载keepalived安装包

wget --no-check-certificate https://www.keepalived.org/software/keepalived-1.2.18.tar.gz

2.解压,我们在下面的输入框中输入tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/并按回车即可在两台设备同时进行解压操作。

3.这时候在local下已经可以看到有keealived安装包了
在这里插入图片描述对keepalived进行配置,我们在下面的输入框中输入cd keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived并按回车即可在两台设备同时进行配置。

4.进行编译安装,我们在下面的输入框中输入make && make install并按回车,即可在两台设备同时进行编译安装。

安装完nginx之后,我们把keepalived做成一个服务,这样可以做到开机自动启动,步骤如下:

1、创建/etc/keepalived目录,我们在下面的输入框中输入mkdir /etc/keepalived并按回车,即可同时在两台设备上创建/etc/keepalived。

2、复制几个文件到指定目录
先复制第一个文件,我们在下面的输入框中输入
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
并按回车,即可在两台设备同时完成复制操作。

下面复制第二个文件,我们在下面的输入框中输入

 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

并按回车,即可同时在两台设备上完成复制该文件操作。

下面复制第三个文件,我们在输入框中输入

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

并按回车,即可在两台设备同时执行复制文件操作。

3、创建软链接
我们在下面的输入框中输入ln -s /usr/local/sbin/keepalived /usr/sbin/并按回车即可完成在两台设备上同时创建软链接。

4、创建keepalived.service文件

vim /lib/systemd/system/keepalived.service

文件内容:

[Unit]
Description=Keepalived
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/var/run/keepalived.pid
ExecStart=/usr/local/keepalived/sbin/keepalived -D
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

5、配置systemctl
systemctl daemon-reload 重新加载

systemctl enable keepalived.service 设置开机自动启动

systemctl disable keepalived.service 取消开机自动启动

systemctl start keepalived.service 启动

systemctl stop keepalived.service 停止

设置完开机自动启动后输入systemctl list-units查看有没有keepalived,有的话就说明已经设置成功
在这里插入图片描述

keepalived来实现nginx的高可用

keepalived搭建这里可以根据https://blog.csdn.net/u012453843/article/details/69668663这个博客来搭建,搭建到nginx_check.sh脚本权限放开后。
重启keepalived

service keepalived restart

查看keep运行状态确认它运行正常,并且已经绑定VIP到网卡

systemctl status keepalived.service -l
ip a

一切正常的话就可以用你配置的共同虚拟IP地址来访问了,这里刚访问的是权重比较高的nginx1
在这里插入图片描述
这时候在122主机上把keepalived服务断掉

systemctl stop keepalived.service

刷新页面访问的就是nginx2的页面了
在这里插入图片描述
至此,Centos7+Nginx+keepalived高可用搭建完成。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值