Skip to content

Commit a9109df

Browse files
committed
2016-05-08补充Keepalived内容
1 parent fbe252d commit a9109df

File tree

2 files changed

+115
-1
lines changed

2 files changed

+115
-1
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Nginx + Keepalived 高可用
2+
3+
4+
## 说明
5+
6+
- 高可用 HA(High Availability),简单讲就是:我某个应用挂了,自动有另外应用起来接着扛着,致使整个服务对外来看是没有中断过的。这里的重点就是不中断,致使公司整个业务能不断进行中,把影响减到最小,赚得更多。
7+
- 因为要不中断,所以我们就需要用到了 Keepalived。Keepalived 一般不会单独使用,基本都是跟负载均衡软件(LVS、HAProxy、Nginx)一起工作来达到集群的高可用效果。
8+
- Keepalived 有双主、主备方案
9+
- 常用词:
10+
- 心跳:Master 会主动给 Backup 发送心跳检测包以及对外的网络功能,而 Backup 负责接收 Master 的心跳检测包,随时准备接管主机。为什么叫心跳不知道,但是挺形象的,心跳同步。
11+
- 选举:Keepalived 配置的时候可以指定各台主机优先级,Master 挂了,各台 Backup 要选举出一个新的 Master。
12+
- Keepalived
13+
- 官网:<http://www.keepalived.org/>
14+
- 官网下载:<http://www.keepalived.org/download.html>
15+
- 官网文档:<http://www.keepalived.org/documentation.html>
16+
17+
18+
## 搭建
19+
20+
- 软件版本:
21+
- Nginx:**1.8.1**
22+
- Keepalived:**1.2.20**
23+
- JDK:**8u72**
24+
- Tomcat:**8.0.32**
25+
- 部署环境:
26+
- VIP:192.168.1.50
27+
- 第一台主机:Nginx 1 + Keepalived 1 + Tomcat 1 == 192.168.1.120(Master)
28+
- 第二台主机:Nginx 2 + Keepalived 2 + Tomcat 2 == 192.168.1.121(Backup)
29+
- 两台机子进行时间校准:[NTP(Network Time Protocol)介绍](NTP.md)
30+
- 第一台主机部署(第二台主机也是按着这样完全配置):
31+
- JDK 的安装:[JDK 安装](JDK-Install.md)
32+
- Tomcat 的安装:[Tomcat 安装和配置、优化](Tomcat-Install-And-Settings.md)
33+
- Nginx 的安装:[Nginx 安装和配置](Nginx-Install-And-Settings.md)
34+
- 添加虚拟 IP:
35+
- 复制一个网卡信息:`sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0`
36+
- 编辑配置文件:`sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0:0`
37+
- 修改内容为如下信息:
38+
``` nginx
39+
DEVICE=eth0:0 >>> 这个需要修改
40+
TYPE=Ethernet
41+
UUID=8ddbb256-caab-4ddf-8e9a-6527b4ac5a26
42+
ONBOOT=yes
43+
NM_CONTROLLED=yes
44+
BOOTPROTO=none
45+
IPADDR=192.168.1.50 >>> 这个需要修改
46+
PREFIX=24
47+
GATEWAY=192.168.1.1
48+
DNS1=101.226.4.6
49+
DEFROUTE=yes
50+
IPV4_FAILURE_FATAL=yes
51+
IPV6INIT=no
52+
NAME="System eth0:0" >>> 这个需要修改
53+
HWADDR=00:0c:29:f4:17:db
54+
LAST_CONNECT=1460213205
55+
```
56+
- 重启网卡服务:`service network restart`
57+
- 如果你要绑定更多虚拟 IP,则多复制几个网卡配置出来,命名如下:ifcfg-eth0:0,ifcfg-eth0:1,ifcfg-eth0:2 ......
58+
- Keepalived 开始安装
59+
- 安装依赖:`sudo yum install -y gcc openssl-devel popt-devel`
60+
- 解压包:`cd /opt/setups/ ; tar zxvf keepalived-1.2.20.tar.gz`
61+
- 编译:`cd /opt/setups/keepalived-1.2.20 ; ./configure --prefix=/usr/program/keepalived`
62+
- 编译安装:`make && make install`
63+
- Keepalived 设置随机启动
64+
- 复制配置文件到启动脚本目录:`cp /usr/program/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived`
65+
- 增加权限:`chmod +x /etc/init.d/keepalived`
66+
- 编辑配置文件:`vim /etc/init.d/keepalived`
67+
``` nginx
68+
把 15 行的:. /etc/sysconfig/keepalived,改为:
69+
. /usr/program/keepalived/etc/sysconfig/keepalived(注意:前面有一个点和空格需要注意)
70+
```
71+
- 添加环境变量:`vim /etc/profile`
72+
``` nginx
73+
# Keepalived 配置
74+
KEEPALIVED_HOME=/usr/program/keepalived
75+
PATH=$PATH:$KEEPALIVED_HOME/sbin
76+
export KEEPALIVED_HOME
77+
export PATH
78+
```
79+
- 刷新环境变量:`source /etc/profile`
80+
- 检测环境变量:`keepalived -v`
81+
- `ln -s /usr/program/keepalived/sbin/keepalived /usr/sbin/`
82+
- `vim /usr/program/keepalived/etc/sysconfig/keepalived`
83+
``` nginx
84+
把 14 行的:KEEPALIVED_OPTIONS="-D",改为:
85+
KEEPALIVED_OPTIONS="-D -f /usr/program/keepalived/etc/keepalived/keepalived.conf"
86+
```
87+
- 启动服务:`service keepalived start`
88+
- 加入随机启动:`chkconfig keepalived on`
89+
- 第一台主机配置:
90+
- ``
91+
- ``
92+
- ``
93+
- ``
94+
- ``
95+
- ``
96+
- ``
97+
- ``
98+
- ``
99+
- 第二台主机配置:
100+
101+
102+
103+
104+
## 资料
105+
106+
- <http://xutaibao.blog.51cto.com/7482722/1669123>
107+
- <https://m.oschina.net/blog/301710>
108+
- <http://blog.csdn.net/u010028869/article/details/50612571>
109+
- <>
110+
- <>
111+
- <>
112+
- <>
113+
- <>
114+

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
- [RabbitMQ 安装和配置](RabbitMQ-Install-And-Settings.md)
5555
- [Openfire 安装和配置](Openfire-Install-And-Settings.md)
5656
- [Rap 安装和配置](Rap-Install-And-Settings.md)
57+
- [Nginx + Keepalived 高可用](Rap-Install-And-Settings.md)
5758
- [黑客入侵检查](Was-Hacked.md)
5859

5960

@@ -64,7 +65,6 @@
6465
- LVS 安装和配置
6566
- Zookeeper 安装和配置
6667
- ActiveMQ 服务安装和配置
67-
- RabbitMQ 服务安装和配置
6868
- GitLab 安装和配置
6969
- Zabbix 安装和配置
7070
- Nagios 安装和配置

0 commit comments

Comments
 (0)