【集群】nginx+keepalived负载均衡高可用(四层/七层反向代理)、nginx+Tomcat动静分离(下)

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 文章目录前言一、nginx反向代理1.1 四层反向代理(速度快)1.2 配置stream模块

2.3 负载均衡调度器(备)

  • 备用服务器的nginx安装与配置,与主服务相同,就不再次演示
#(在主调度器操作)scp keepalived.conf 192.168.13.40:`pwd` #将配置文件远程传送给备用负载调度器
vim /etc/keepalived/keepalived.conf
  12行:router_id NGINX_02                #设置负载均衡类型和主次级别
  21行:state BACKUP                    #设置状态为BACKUP(备份状态,必须大写)
  24行:priority 90                   #优先级只要比master低就行
systemctl start keepalived                  #启动keepalived高可用服务
ip addr                           #此时查看ip,会发现没有VIP地址
#(在主调度器操作)systemctl stop nginx            #将主服务器nginx服务停止
ip addr                           #等待一分钟后,发现VIP地址已经到备用调度器上面了
注:为了防止脑裂现象,可以设置非抢占模式(不再区分主从,都设置为BACKUP,且添加配置nopreempt,可自行搜索扩展)



2.4 部署节点服务器(nginx+Tomcat)

2.4.1 编译安装jdk环境

#安装jdk环境(Tomcat是基于jdk环境运行的)
tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/       #将源码包下载至对应的目录
cat >/etc/profile.d/jdk.sh<<EOF               #设置jdk相关的环境变量(以前有解释过)
JAVA_HOME=/usr/local/jdk1.8.0_91
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
EOF
source /etc/profile.d/jdk.sh                #刷新环境变量配置文件
java -version                       #显示的版本应该与源码包的版本一致(博主是:1.8.0_131)

2.4.2 编译安装Tomcat

cd /opt
#下载Tomcat源码包
tar xf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
mkdir -p /usr/local/tomcat/webapps/test
cd /usr/local/tomcat/webapps/test
#Tomcat动态主页配置(不需要精通,只需要简单的配置,能进行检测即可)
cat >index.jsp<<EOF
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title>
<body>
<% out.println("动态页面2,this is web 2");%>
</head>
</body>
</html>
EOF
#修改Tomcat动态页面路径指向(不需要精通,只需要简单的配置,能进行检测即可)
sed -i '148,149d' /usr/local/tomcat/conf/server.xml
sed -i '148i <Host name="localhost"  appBase="webapps"\n  unpackWARs="true" autoDeploy="true"\n  xmlValidation="false" xmlNamespaceAware="false">' /usr/local/tomcat/conf/server.xml
sed -i '151i <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />' /usr/local/tomcat/conf/server.xml
#唯一要注意的就是151行,这行是路径指向,其余的都是默认配置,复制粘贴即可
/usr/local/tomcat/bin/startup.sh            #启动Tomcat服务
curl 192.168.13.20:8080                 #访问页面,检测Tomcat是否启动成功

2.4.3 编译安装nginx(七层反向代理+动静分离)

  • 安装步骤与2.2.1的编译安装方法相同,配置文件修改如下即可
vim /usr/local/nginx/conf/nginx.conf
  39行:charset utf-8;          #开启万国字符集
  47行下插入:
  location ~ jsp$ {
    proxy_pass http://192.168.13.20:8080;
  }
nginx -t                  #检查语法错误
systemclt start nginx           #启动nginx服务
此时到浏览器访问http://192.168.13.100:1314和http:192.168.13.100:1314/index.jsp会产生动静分离效果,多几台虚拟机访问还会产生负载均衡

三、结语

  • 易错点:大括号对应错误,这种错误通过nginx -t 可逐渐排查出来,为了防止此类错误,要养成良好写代码习惯,复制粘贴的时候也要注意大括号是否对应整齐
  • 注意点:想使用四层反向代理,nginx必须安装stream模块
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
4月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
125 0
|
4月前
|
负载均衡 前端开发 应用服务中间件
FastDFS+Nginx+fastdfs-nginx-module集群搭建
FastDFS+Nginx+fastdfs-nginx-module集群搭建
|
4月前
|
运维 负载均衡 监控
Nginx加Keepalived实现高可用
使用Nginx和Keepalived来实现高可用性的方案,对于确保关键服务的稳定性和可靠性来说是非常有效的。此配置涉及多个步骤,包括各个服务的安装、设置及测试,目标是在主服务器故障时能无缝切换,以确保服务的持续可用。正确的配置和充分的测试是实现高可用性的保证,这也要求管理员对这些工具和它们背后的原理有深入的了解。
73 1
|
4月前
|
前端开发 Java 应用服务中间件
在Linux中,tomcat和nginx的区别是什么?
在Linux中,tomcat和nginx的区别是什么?
|
4月前
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
66 1
|
4月前
|
缓存 负载均衡 Java
Tomcat多实例及nginx反向代理tomcat
运行多个Tomcat实例并使用nginx作为反向代理
67 3
|
4月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
110 4
|
4月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
137 3
|
4月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
96 0