Linux Nginx双机热备及负载均衡群集配置(1主Nginx服务器、1备Nginx服务器、2tomcat服务器、1客户机)

Nginx简介-服务器特性  一款高性能、轻量级web服务软件

稳定性高

系统资源消耗低

对HTTP并发连接的处理能力高

 

正向代理(Proxy)

代理服务器代理内部网络对Internet的连接请求

如果缓存服务器中已经有该网址

 

扫描二维码关注公众号,回复: 8716210 查看本文章

反向代理(Reverse Proxy)

代理服务器代理外部Internet主机对内部网络的连接请求

Nginx反向代理无缓存功能

 

负载均衡(LoadBalance)

将访问流量分配到多台服务器进行负载分担的服务

消除单点故障

提示服务性能

Nginx负载均衡算法

round-robin(轮询)

weighted(权重)

least-connected(最少连接数)

ip-hash(IP哈希)

 

双机热备keepalived功能模块

core

keepalived的核心 负责主进程的启动、维护以及全局配置文件的加载和解析

check

负责后端服务器池中主机的健康情况检查

vrrp

实现VRRP协议(Virtual Router Redundancy Protocol)

实现双机热备功能

 

备份方式

一主(master)多备(backup)

共用同一个虚拟IP地址(VIP) 但优先级不同

 

配置文件keepalived.conf

样例文件位于/etc/keepalived/samples/....

global_defs{           //全局配置

     ...

}

vrrp_instance VI_1{        //定义热备份实例

     ...

}

 

项目案例环境

 

项目案例拓扑

 

案例基本环境配置

1、克隆5台虚拟机(4台RHEL6.5 64位服务器、1台Windows 7客户机)

2、配置5台虚拟机的IP地址、主机名(参照案例环境完成)

3、关闭4台Linux服务器的iptables防火墙、selinux

4、开启4台Linux服务器的本地yum功能

5、测试5台主机间的连通性

 

克隆5台虚拟机(4台RHEL6.5 64位服务器、1台Windows 7客户机)

 

配置5台虚拟机的主机名

重启后生效

 

配置IP地址

 

关闭4台Linux服务器的iptables防火墙、selinux

 

开启4台Linux服务器的本地yum功能

 

测试5台主机间的连通性

win7客户端的IP配置

五台主机相互之间都能ping通

 

从物理机复制文件到虚拟机

虚拟机开启服务

物理机访问并上传文件

 

虚拟机获取到

 

其他虚拟机获取文件

 

Nginx服务器的配置(主、备服务器上分别完成)

安装Nginx所需的支持包

 

创建运行Nginx程序的系统用户账户www 并指定其登陆shell为/bin/false

 

解压nginx软件包

 

进入nginx的解压目录

 

配置nginx

 

# --prefix=... 指定nginx的安装路径

# --user=...,--group=... 指定运行nginx程序的用户账户和组账户

# --with-file-aio 启用文件修改支持功能

# --with-http_stub_status_module 启用状态统计功能

# --with-http_gzip_static_module 启用gzip静态压缩功能

# --with-http_flv_module 启用flv模块,提供寻求内存使用基于时间的偏移量文件

# --with-http_ssl_module 启用SSL模块

 

编译nginx 生成二进制安装文件

 

安装nginx

 

测试nginx的配置文件是否正确

 

启动nginx

停止nginx服务(杀死nginx工作进程)

kill $(cat /usr/local/nginx/logs/nginx.pid)

 

要重启nginx服务,按如下操作进行:

kill $(cat /usr/local/nginx/logs/nginx.pid)

/usr/local/nginx/sbin/nginx

 

查看服务进程

 

查看nginx程序的默认端口80

 

测试网页

 

部署节点服务器(在两台Tomcat服务器上分别完成)

卸载Linux系统自带的jdk

 

解压jdk软件包

 

移动解压后的jdk至/usr/local中 并重命名目录名为java

 

修改java的环境变量

 

重新加载环境变量

 

查看jdk版本

 

解压Tomcat软件包

 

移动解压后的tomcat到/usr/local 并重命名目录名为tomcat7

 

启动tomcat服务

查看tomcat的运行端口8080

 

测试默认页面

 

建立测试页

Tomcat1服务器WebSrv1上建立

 

Tomcat2服务器WebSrv2上建立

 

测试index.jsp页面

 

配置负载均衡功能(在主、备Nginx服务器上分别完成)

配置负载均衡功能

 

测试nginx配置文件是否正确

 

重启服务

 

查看nginx服务进程

 

查看nginx程序的默认端口

 

测试Nginx分负载均衡功能

win7客户机上分别访问192.168.113.1和192.168.113.2  能看到两个不同的java页面

 

部署keepalived(主、备Nginx服务器上分别完成)

安装keepalived的支持软件

 

安装群集管理工具ipvsadm

 

解压keepalived软件包

 

配置keepalived

# --prefix=... 指定安装路径

# --with-kernel-dir=... 指定Linux系统内核目录路径

 

编译keepalived

 

安装keepalived软件包

 

#/etc/init.d/keepalived

#chkconfig --add keepalived

#chkconfig keepalived on

 

建立配置文件keepalived.conf

主Nginx服务器

 

备份的Nginx服务器

 

将keepalived服务添加到开启自启动项中

 

设置当前系统中的keepalived服务为开启状态

 

启动keepalived服务

 

查看主Nginx服务器网卡的虚拟IP地址

 

测试双机热备功能

win7上不停ping 192.168.113.254(群集IP)

 

主机正常时

Nginx服务器可以看到群集地址

 

备份Nginx服务器看不到群集地址

 

主设备异常(故障)

在主Nginx服务器上执行

 

在备份Nginx服务器上可以看到群集地址

 

可以看到win7的ping请求超时了三个包后恢复正常

 

修复主设备

在主Nginx服务器上执行

 

在备份Nginx服务器上执行 备份设备交出控制权给主设备

 

win7的包丢了三个

 

win7测试网页 访问群集IP地址

两个窗口都访问192.168.113.254 能看到2个不同的java页面

发布了94 篇原创文章 · 获赞 68 · 访问量 4126

猜你喜欢

转载自blog.csdn.net/qq_37077262/article/details/104045541
今日推荐