8月11日上课内容 nginx的多实例和动静分离
多实例部署
在一台服务器上有多个tomcat的服务。
配置多实例之前,看单个实例是否访问正常。

1.安装好 jdk
2.安装 tomcat
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2
3.配置 tomcat 环境变量
vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
tomcat主目录的路径,包含所有tomcat的文件
export CATALINA BASE1=/usr/local/tomcat/tomcat1
指定tomcat实例目录
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
tomcat主目录的路径,包含所有tomcat的文件
这三条在环境变量中声明,配置成全局变量,方便后面传参/赋值
source /etc/profile.d/tomcat.sh
进入控制tomcat运行的文件,把服务shutdown一下
基于Tomcat主目录,强行复制一个相同的


vim /etc/profile.d/tomcat.sh


4.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号
vim /usr/local/tomcat/tomcat2/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN"> #22行,修改Server prot,默认为8005 -> 修改为8006
<Connector port="8081" protocol="HTTP/1.1" #69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器默认监听8009端口,负责和其他的HTTP服务器建立连接。
在把Tomcat与其他HTTP服务器集成时,需要用到这个连接器。
第三个连接器
port="8010":指定AJP连接器监听的端口号。在这个示例中,AJP连接器监听在8010端口上。
protocol="AJP/1.3":指定连接器所使用的协议。这里设置为AJP/1.3,表示使用AJP协议的版本1.3。
redirectPort="8443":指定重定向端口。当AJP连接器接收到HTTP请求时,如果请求是通过HTTPS(加密)访问的,
则会将请求重定向到8443端口。
AJP连接器用于将静态资源和动态请求从前端Web服务器(如Apache HTTP Server)转发到Tomcat服务器。
这样可以将Tomcat服务器隐藏在防火墙之后,提高安全性,同时提供更高的性能,特别是在处理动态请求时。
常见的AJP连接器配置是为了将Tomcat与Apache HTTP Server或Nginx等前端服务器集成,以实现负载均衡、反向代理等功能
引入一个很好用的功能,是第三方的,需要安装
telnet 测试服务器ip地址是否能正常通信和测试端口通信是否正常
例:telnet 192.168.233.61 80


为什么能ping通却不能访问?因为服务器是基于端口通信的,所以也要检查端口
端口可能不存在 端口没有打开

相关文章:
8月11日上课内容 nginx的多实例和动静分离
多实例部署 在一台服务器上有多个tomcat的服务。 配置多实例之前,看单个实例是否访问正常。 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 cp -a /usr…...
腾讯云CVM服务器端口在安全组中打开!
腾讯云服务器CVM端口怎么开通?腾讯云服务器端口是通过配置安全组规则来开通的,腾讯云服务器网以开通80端口为例来详细说下腾讯云轻量应用服务器开启端口的方法,其他的端口的开通如8080、1433、443、3306、8888等端口也适用于此方法࿰…...
k8s、docker添加daemon.json添加“exec-opts“: [“native.cgroupdriver=systemd“]后无法启动的问题
考虑k8s下docker下载镜像太慢,修改了daemon.json,按照手册抄,添加 {"exec-opts": ["native.cgroupdriversystemd"],"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"] }结果发现k8s起…...
React组件性能优化实践
React组件性能优化最佳实践 React组件性能优化的核心是减少渲染真实DOM节点的频率,减少 Virtual DOM比对的频率。 组件卸载前进行清理操作 在组件中为 window注册的全局事件,以及定时器,在组件卸载前要清理掉,防止组件卸载后继…...
SpringBoot复习:(29)静态资源的配置路径
WebMvcAutoConfiguration 首页处理:...
mysql延时问题排查
背景介绍 最近遇到一个奇怪的问题,有个业务,每天早上七点半产生主从延时,延时时间12.6K; 期间没有抽数/备份等任务;查看慢日志发现,期间有一个delete任务,在主库执行了161s delete from xxxx_…...
接口设置了responseType:‘blob‘后,接收不到后端错误信息
下载文件流,需要接口设置responseType:blob,接口设置了responseType:blob后,拿不到后端接口的异常信息,我们只需要添加如下代码: const service axios.create({baseURL: ***, // url base url request url// withC…...
无涯教程-Perl - mkdir函数
描述 此功能使用MODE指定的模式创建一个名称和路径EXPR的目录,为清楚起见,应将其作为八进制值提供。 语法 以下是此函数的简单语法- mkdir EXPR,MODE返回值 如果失败,此函数返回0,如果成功,则返回1。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl -w$dirname &…...
css3 瀑布流布局遇见截断下一列展示后半截现象
css3 瀑布流布局遇见截断下一列展示后半截现象 注:css3实现瀑布流布局简直不要太香~~~~~ 场景-在uniapp项目中 当瀑布流布局column-grap:10px 相邻两列之间的间隙为10px,column-count:2,2列展…...
C++初阶之一篇文章教会你list(理解和使用)
list(理解和使用) 什么是list特点和优势基本操作示例用法与其他序列式容器(如 std::vector 和 std::deque)相比,std::list 显著的区别和优势成员类型 list构造函数1. default (1)2. fill (2)3.range (3)4. copy (4) li…...
如何给Linux开启swap虚拟内存
查看系统内存资源 free -h 创建swap分区 dd if/dev/zero of/swapfile bs1024 count4194304dev/zero:是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0&…...
spring按条件注入@Condition及springboot对其的扩展
概述 spring的ioc极大的方便了日常开发,但随着业务的迭代。配置的一些参数在某些情况下需要按条件注入。 比如原先定义的db公共模块下,相关的配置和工具类只是基于mysql的。但是后续有模块需要使用mongo/es等其他数据库,又想继续使用db公共…...
MySQL多表连接查询3
目录 表结构 创建表 表数据 查询需求: 1.查询student表的所有记录 2.查询student表的第2条到4条记录 3.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息 4.从s…...
【从零开始学习JAVA | 第四十五篇】反射
目录 前言: 反射: 使用反射的步骤: 1.获取阶段: 2.使用阶段: 反射的应用场景: 使用反射的优缺点: 总结: 前言: Java中的反射是一项强大而灵活的功能࿰…...
顺丰科技数据治理实践
01 顺丰数据治理体系演进路线 顺丰做数据治理十多年,数据治理体系的模块是逐步来建设的。十年前,我们就已经建了数仓,同步做了元数据管理,数据质量管理,以及数据安全的管理。顺丰数据治理的演进路线分 3 个阶段。 第…...
Nginx+Tomcat负载均衡、动静分离实例详细部署
一、反向代理两种模式 四层反向代理 基于四层的iptcp/upd端口的代理 他是http块同一级,一般配置在http块上面。 他是需要用到stream模块的,一般四层里面没有自带,需要编译安装一下。并在stream模块里面添加upstream 服务器名称,…...
Java多线程(3)---锁策略、CAS和JUC
目录 前言 一.锁策略 1.1乐观锁和悲观锁 ⭐ 两者的概念 ⭐实现方法 1.2读写锁 ⭐概念 ⭐实现方法 1.3重量级锁和轻量级锁 1.4自旋锁和挂起等待锁 ⭐概念 ⭐代码实现 1.5公平锁和非公平锁 1.6可重入锁和不可重入锁 二.CAS 2.1为什么需要CAS 2.2CAS是什么 ⭐CAS…...
Linux:Shell编辑之文本处理器(awk)
目录 绪论 1、用法 1.1 格式选项 1.2 awk 常用内置变量 1.3 awk的打印功能 1.4 奇偶打印 1.5 awk运算 1.6 awk的内置函数:getline 1.7 文本过滤打印 1.8 awk条件判断打印 1.9 三元表达式,类似于java 1.10 awk的精确筛选 1.11 awk和tr比较改变…...
探索FSM (有限状态机)应用
有限状态机(FSM) 是计算机科学中的一种数学模型,可用于表示和控制系统的行为。它由一组状态以及定义在这些状态上的转换函数组成。FSM 被广泛用于计算机程序中的状态机制。 有限状态机(FSM)应用场景 在各种自动化系统…...
6.continue break
6.1continue 关键字 continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体continue之后的代码会少执行一次)。 例如:吃5个包子,第3个有虫子,就扔掉第3个包子,继续吃第4个第5个包子…...
从 Cloud Connector 到 abapodbc,把 ABAP On-Premise Remote Source 真正搭起来
这类连接最近在很多混合架构项目里都会出现,业务数据还放在本地部署的 SAP S/4HANA 或其他 ABAP 系统里,分析、联合查询、虚拟化访问却已经放到了 SAP HANA Cloud。到了这个阶段,我们常见的诉求不是把所有数据一股脑搬到云上,而是先把访问链路打通,让 SAP HANA Cloud 以远…...
Flux2-Klein-9B-True-V2效果展示:星空银河系天体结构科学级渲染
Flux2-Klein-9B-True-V2效果展示:星空银河系天体结构科学级渲染 1. 模型能力概览 Flux2-Klein-9B-True-V2是基于官方FLUX.2 [klein] 9B改进的文生图/图生图模型,在科学可视化领域展现出惊人潜力。这个模型特别擅长生成高精度的天体物理图像,…...
前端跨平台开发
前端跨平台开发:打破界限的利器 在移动互联网时代,用户设备多样化,从手机、平板到桌面端,开发者需要确保应用在不同平台上都能流畅运行。传统开发模式下,为每个平台单独编写代码不仅耗时,还增加了维护成本…...
从零到上线:用C#搞定讯飞星火大模型WebSocket接入(含鉴权URL生成踩坑实录)
实战指南:C#深度集成讯飞星火大模型的WebSocket解决方案 在智能交互应用开发中,大模型API的高效接入一直是技术难点。本文将分享一套经过实战验证的C#解决方案,帮助开发者绕过官方SDK限制,直接通过WebSocket协议实现讯飞星火大模型…...
从“看图说话”到“文生图”:拆解多模态Transformer编码器,看ViT如何成为视觉大模型的基石
从“看图说话”到“文生图”:拆解多模态Transformer编码器,看ViT如何成为视觉大模型的基石 当你在MidJourney输入"星空下的鲸鱼跃出水面"时,系统在0.3秒内生成了一张令人惊叹的图片——这背后究竟发生了什么?答案藏在Vi…...
CATIA高级曲面设计模块的license管理要点
CATIA高级曲面设计模块的license管理要点你是绝非也总归碰到,项目紧的时候,CATIA高级曲面模块的license全被占用了,工程师还得等?可奇怪的是,你查了系统里许用数,居然还有老多没用?这事儿我太熟…...
在 SAP BTP ABAP Environment 里灌入测试数据,我们可以把表数据直接生成为 Open SQL 插入代码
做云端 ABAP 开发时,我经常会碰到一个很现实的问题,业务对象已经建好了,CDS View 也有了,RAP 行为定义也通了,可系统里偏偏没有几条像样的演示数据。界面能打开,列表却是空的,联调时看不到状态流转,调试时也没法复现实例。SAP Community 上这篇文章讨论的,正是这个尴尬…...
PHP源码开发用一体机合适吗_集成硬件局限性说明【操作】
不推荐PHP开发用一体机——因U系CPU与焊死8GB内存导致调试卡顿、Docker/WSL2兼容差、USB外设支持弱,仅适合纯写小项目。PHP开发用一体机行不行?看这三点就清楚能跑,但不推荐——除非你只写小项目、不调试、不连真服务器、不碰 Docker 或 CLI …...
Android16进阶之Equalizer.usePreset调用流程与实战(三百零一)
简介: CSDN博客专家、《Android系统多媒体进阶实战》作者 博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址&a…...
ChatGPT提示工程:原理、技巧与实践指南
1. 理解ChatGPT与提示工程的基础大型语言模型(LLM)如ChatGPT本质上是通过海量文本训练而成的概率模型,其核心能力是根据已有上下文预测最可能出现的下一个词元(token)。与传统文本生成模型不同,ChatGPT采用…...
