Nginx笔记(三)----Nginx+Keepalived主从配置(双机主从热备)+Tomcat集群

本文介绍了如何使用Nginx和Keepalived实现主从配置的双机热备,详细阐述了网络拓扑、软件安装及配置过程,同时探讨了如何通过监控脚本确保Nginx服务的高可用性。最后,文章还提及了搭建Tomcat集群的方法。
摘要由CSDN通过智能技术生成

简介


这种方案,使用一个VIP地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备机在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案并不经济实惠。


一、网络拓扑


四台虚拟机如下所示:



为什么使用keepalived呢?

使用keepalived就用来做高可用的,提供虚拟VIP


二、软件安装

Nginx-Master和Nginx-Slave两台服务器上的安装操作完全一样

1、更新系统
[root@Nginx-Master ~]# yum -y update
2、安装依赖软件
[root@Nginx-Master ~]# yum install -y libnl*
[root@Nginx-Master ~]# yum -y install openssl openssl-devel kernel-devel        #可分别安装
[root@Nginx-Master ~]# yum -y install gcc gcc-c++ autoconf automake make  #可分别安装
[root@Nginx-Master ~]# yum install -y libnfnetlink-devel zlib zlib-devel gcc gcc-c++ openssl openssl-devel openssh 

说明:

pcre: 用来作地址重写的功能。
zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。
openssl:提供ssl加密协议

安装 mailx 包,用于发送邮件 
[root@Nginx-Master ~]# yum -y install mailx
[root@Nginx-Master ~]# mailx -V
12.5 7/5/10
[root@Nginx-Master ~]# vim /etc/nail.rc
set from=xxxx@163.com(邮箱地址) 
set smtp=smtp.163.com(smtp服务器) 
set smtp-auth-user=xxxx@163.com(用户名) 
set smtp-auth-password=xxxxxxxx(邮箱密码) 
set smtp-auth=login
测试
[root@Nginx-Master ~]echo 123 | mailx -v -s "test" xxxx@qq.com
[root@Nginx-Master ~]echo "hello world" | mail -s 'test666' xxxx@qq.com
或者
[root@Nginx-Master ~]mailx -v -s "test" xxxxx@qq.com<test.txt

3、安装keepalived和nginx

3.1.1、下载

[root@Nginx-Master ~]# cd /usr/local/src/
[root@Nginx-Master src]# wget http://nginx.org/download/nginx-1.9.7.tar.gz
[root@Nginx-Master src]# wget wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
3.1.2、解压
[root@Nginx-Master src]# tar -zvxf nginx-1.9.7.tar.gz 
[root@Nginx-Master src]# cd nginx-1.9.7
3.1.3、建立Nginx用户
[root@Nginx-Master nginx-1.9.7]# groupadd -g 1001 nginx  
[root@Nginx-Master nginx-1.9.7]# useradd -u 900 nginx -g nginx -s /sbin/nologin  
[root@Nginx-Master nginx-1.9.7]# tail -1 /etc/passwd  
nginx:x:900:1001::/home/nginx:/sbin/nologin  
3.1.4、安装Nginx 
[root@Nginx-Master nginx-1.9.7]#./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx && make && make install
[root@Nginx-Master nginx-1.9.7]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ 
3.1.5、安装keepalived
[root@Nginx-Master src]# tar -zvxf keepalived-1.3.5.tar.gz 
[root@Nginx-Master src]# cd keepalived-1.3.5
[root@Nginx-Master keepalived-1.3.5]# ./configure
Keepalived configuration
------------------------
Keepalived version       : 1.3.5
Compiler                 : gcc
Preprocessor flags       :  -I/usr/include/libnl3 
Compiler flags           : -Wall -Wunused -Wstrict-prototypes -Wextra -g -O2  
Linker flags             : 
Extra Lib                : -lcrypto -lssl -lnl-genl-3 -lnl-3
Use IPVS Framework       : Yes
IPVS use libnl           : Yes
IPVS syncd attributes    : No
IPVS 64 bit stats        : No
fwmark socket support    : Yes
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
Use VRRP authentication  : Yes
With ip rules/routes     : Yes
SNMP vrrp support        : No
SNMP checker support     : No
SNMP RFCv2 support       : No
SNMP RFCv3 support       : No
DBUS support             : No
SHA1 support             : No
Use Debug flags          : No
Stacktrace support       : No
Memory alloc check       : No
libnl version            : 3
Use IPv4 devconf         : No
Use libiptc              : No
Use libipset             : No
init type                : systemd
Build genhash            : Yes
Build documentation      : No
[root@Nginx-Master keepalived-1.3.5]# make && make install
[root@Nginx-Master keepalived-1.3.5]# cp /usr/local/src/keepalived-1.3.5/keepalived/etc/init.d/keepalived /etc/init.d/keepalived
[root@Nginx-Master keepalived-1.3.5]# ll /etc/init.d/ | grep keepalived
-rwxr-xr-x  1 root root  1308 5月  28 16:01 keepalived
[root@Nginx-Master keepalived-1.3.5]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@Nginx-Master keepalived-1.3.5]# mkdir /etc/keepalived
[root@Nginx-Master keepalived-1.3.5]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@Nginx-Master keepalived-1.3.5]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
将nginx和keepalive服务加入开机启动服务
[root@Nginx-Master keepalived-1.3.5]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local
[root@Nginx-Master keepalived-1.3.5]# echo "/etc/init.d/keepalived start" >> /etc/rc.local
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值