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

简介: 文章目录前言一、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模块
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
应用服务中间件 Linux 网络安全
使用Nginx免费版与Keepalived实现高可用性High Availablity方案
本文介绍了如何使用Nginx免费版与Keepalived实现高可用性(HA)方案,涵盖环境搭建、Keepalived安装配置、版本升级及主从模式设置。通过虚拟机测试,结合CentOS与宝塔,详细说明VIP配置与服务启动流程,助你构建稳定可靠的Web高可用架构。
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
427 21
|
负载均衡 Java 应用服务中间件
Tomcat与Nginx的负载均衡与动静分离技巧
总的来说,Tomcat和Nginx各有各的优点,在负载均衡和动静分离这两方面它们都有很好的应用。灵活使用这两个工具能够让Web应用具有更好的扩展性和用户体验。
417 14
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
512 11
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
549 0
|
Kubernetes 安全 应用服务中间件
IngressNightmare:Ingress Nginx 再曝5个安全漏洞,可接管你的 K8s 集群
是否还记得 2022 年 K8s Ingress Nginx 披露了的 3 个高危安全漏洞(CVE-2021-25745, CVE-2021-25746, CVE-2021-25748),并在那一年宣布停止接收新功能 PR,专注修复并提升稳定性。
|
前端开发 Java 应用服务中间件
Tomcat和Nginx的资源路径映射
Tomcat和Nginx的资源路径映射
606 1
|
负载均衡 前端开发 应用服务中间件
FastDFS+Nginx+fastdfs-nginx-module集群搭建
FastDFS+Nginx+fastdfs-nginx-module集群搭建
|
运维 负载均衡 监控
Nginx加Keepalived实现高可用
使用Nginx和Keepalived来实现高可用性的方案,对于确保关键服务的稳定性和可靠性来说是非常有效的。此配置涉及多个步骤,包括各个服务的安装、设置及测试,目标是在主服务器故障时能无缝切换,以确保服务的持续可用。正确的配置和充分的测试是实现高可用性的保证,这也要求管理员对这些工具和它们背后的原理有深入的了解。
768 1
|
应用服务中间件 nginx
服务搭建篇(四) 搭建基于Nginx + keepalived的高可用服务
比如我这里虚拟IP+nginx端口是 : 192.168.154.10:80 , 我直接访问 , 出来的是192.168.154.134服务器上的nginx , 因为我刚刚做了区分 , 所以这个时候就可以知道访问的是哪个机器的Nginx , 然后我们把134的Nginx停掉 , 然后再次访问 , 仍然可以使用 , 此时 ,出现的135的页面 , 也就是访问的是192.168.154.135的Nginx
396 0