Nginx之keepalived高可用工具
1、创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址
2、 将keepalived上传到linux系统当中
3、 cd /usr/local目录
4、 tar -zxvf keepalived-1.2.18.tar.gz
5、 cd keepalived-1.2.18目录
6、 yum install -y openssl openssl-devel (需要安装一个软件包)
7、 ./configure --prefix=/usr/local/keepalived 编译,将编译文件放到/usr/local/keepalived
8、 make
9、 make install
10、 在/etc/keepalived 创建目录: mkdir /etc/keepalived
11、 cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
12、 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
13、 cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
14、 ln -s /usr/local/sbin/keepalived /usr/sbin/
(ln -s /usr/local/keepalived/sbin/keepalived /sbin/)
15、 将nginx启动脚本和keepalived.conf配置上传到/etc/keepalived
16、 主机:修改keepalived.conf配置文件 vim /etc/keepalived/keepalived.conf
interface 配置成与主机相同的网络 ip a
mcast_src_ip 配置成自己机器的IP
virtual_ipaddress {
192.168.33.135 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
17、 启动keepalived 启动命令service keepalived start
如果报错:Job for keepalived.service failed because the control process exited with error code. See "systemctl status keepalived.service" and "journalctl -xe" for details.
18、解决办法:rm /usr/sbin/keepalived
19、ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
20、再次启动
21、可以设置开机启动:chkconfig keepalived on
22、自动重启不了,解决办法
23、备机安装步骤同上,备机修改配置文件步骤如下
24、备机:修改keepalived.conf配置文件 vim /etc/keepalived/keepalived.conf
state BACKUP 备机名称
interface 配置成与主机相同的网络 ip a
mcast_src_ip 配置成自己机器的IP
priority 90 权重配置
virtual_ipaddress {
192.168.33.135 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
25、从机启动步骤同上
26、效果展示 访问虚拟IP地址192.168.33.135
27、模拟主机挂掉,高可用工具Keepalived实现自动启动备机,防止宕机
注意:为确保区分主机与备机,在此修改了静态资源HTML的标题
①、挂掉主机
②、虚拟IP地址192.168.33.135继续访问备机
③、 虚拟IP访问效果
④、恢复主机
⑤、虚拟IP地址192.168.33.135继续访问主机
⑥、虚拟IP访问效果
29、keepalived 常用命令
启动Keepalived:service keepalived start
30、注意事项
区分主机与备机名称、
区分主机与备机IP地址、
区分主机与备机的权重 主机权重>备机权重
最新文章
- Maven 的插件和生命周期的绑定
- Android studio中使用asmack的jar包的前期准备工作
- 利用setTimeOut 和clearTimeOut 方法控制写一个 滑动导航显示不同信息的效果
- magent编译安装及常见错误
- ENode框架Conference案例转载
- crawler_基础之_httpclient 访问网络资源
- Python3基础 map 与 lambda表达式配合 将指定系列元素乘2
- React Native之(支持iOS与Android)自定义单选按钮(RadioGroup,RadioButton)
- 基础的基于QT的图像查看程序
- 小程序之 tab切换(选项卡)
- PyCharm 2018 最新激活方式总结(最新最全最有效!!!)
- Mac下常用工具
- java中excel导入\导出工具类
- react 的JSX语法需要注意哪些点?
- oozie学习笔记
- matplotlib-绘制精美的图表
- 聊聊高并发(十四)理解Java中的管程,条件队列,Condition以及实现一个堵塞队列
- Spring中使用属性文件properties的两种方式
- 如何优雅地使用vim编辑器
- mac 系统使用macaca inspector 获取iphone真机应用元素
热门文章
- 洛谷$P3227\ [HNOI2013]$切糕 网络流
- 「P5004」专心OI - 跳房子 解题报告
- 爆破linux密码 $6$3uwqC9JI$d9iPRmTDAoXs/IbsplxS3iyeErHqw7fUycacXNHyZk1UCSwFEydl515/zXN7OEwHnyUaqYcNG
- FTP服务器虚拟用户配置
- (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线
- 如何使用poi在word表格中插入行的4种方法
- String.valueOf(null)
- ORM基础2 字段及其参数和meta
- java小心机(2)| 重载和构造器的小细节
- 【JQ】 validate验证表单时多个name相同的元素的解决办法