当前位置: 首页 > news >正文

windows环境下部署多个端口Tomcat服务和开机自启动设置保姆级教程

前言

  本文主要介绍了 windows环境下,配置多个Tomcat设置不同端口启动服务。其实在思路上Linux上也是适用的,只是 Linux 上没有可视化客户端,会麻烦些,但总体的思路上是一样的。

  注:文章中涉及些文字和图片是搬运了其他优秀博主的文章,因觉得写的好,可以一起拿过来。若有侵权,可联系我删除

工具

window环境电脑一台:这里不关心win7还是 win10,因为思路都是一样的

环境准备

 1.需自行安装JDK 环境和配置好环境变量

开始

 一、下载 Tomcat

直接进入官网下载,如下官网链接:
https://tomcat.apache.org/download-80.cgi

点击左侧下载就行,如下:

点击进对应版本之后,要注意的是,是在:


注意: 分为zip和exe两种格式的,zip是免安装版的,exe是安装版。同时观察自己的电脑是64位系统还是32位系统;


zip
用于windows操作系统;

tar.gz
用于unix和linux操作系统.

Binary Distributions Core:
这列下的为直接运行安装文件.

Deployer:
这列下的为程序员编程所用文件.

Source Code Distributions :
这列下的为tomcat源代码

若想了解更多具体的说明,可以参考如下博文

tomcat 官网下载 安装包说明 tar.gz和zip的区别64-bit Windows zip _mqtt的tar包和zip包区别-CSDN博客

若想使用其他历史的版本:

https://archive.apache.org/dist/tomcat/

历史版本点进去,记得是点击bin中的zip文件。如下:

这里我是下载 ZIP 的包,直接解压后,对文件夹直接使用

二、环境变量配置

注:本文只演示一个Tomcat 端口为 8092的配置流程,需要多个的话,按此流程修改端口,进行重复工作即可。

新建两个系统的环境变量

CATALINA_HOME_8092

CATALINA_BASE_8092

两个的变量配置内容如下:

D:\Program Files\tomcat_app\tomcat_port_8092

系统变量,Path变量追加内容:

%CATALINA_HOME_8092%\lib;%CATALINA_HOME_8092%\bin;

至此,环境变量已经配置完毕

三、修改端口

在刚刚的解压文件,tomcat的安装目录下,是在conf目录下,打开server.xml文件,如下:

需要修改的地方:
注意!!!!只修改port
我都是在原来基础上加1的,大家自己修改没有被占用的端口号就完事:

关闭端口号:

<Server port="8006" shutdown="SHUTDOWN">

浏览器访问接口:

 <Connector port="8092" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

第三处的话,因为我这8.5版本直接注释了,也就不需要修改,有的也要修改:
这个是接受其他服务转发过来的请求端口号:

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

四、修改bin下bat文件

将带.bat后缀的文件中的


CATALINA_HOME
CATALINA_BASE
全部修改为
前面新建的变量名;
像我这里就是:
CATALINA_HOME_8092
CATALINA_BASE_8092

 亲测实际修改这 3 个文件即可

若不嫌麻烦,可以将全部的.bat文件修改下!

五、应用部署

将编译好的工程文件war包放入webapps文件夹下面

六、启动服务

双击 startup.bat文件,服务即可启动了!然后webapps下就会自动多出工程的文件夹,里面包含了编译后的代码。

浏览器上输入:http://127.0.0.1:8092/test/ 即可访问工程了

注:

若点击startup.bat程序,要是一闪而过的话。。。那说明没配置成功;
可以参考这个博文,怎么查看原因:

Tomcat启动一闪而过就消失的原因和解决方法_tomcat启动一闪就没-CSDN博客

也可以采取以下方式试试 :

如果闪退的话
1.使用记事本打开bin/starup这个批处理
然后在末尾加上pause,并且在末尾找到call “%EXECUTABLE%” start%CMD_LINE_ARGS%
把这个start改成run
2.就可以查看为什么闪退的原因了
3.然后根据原因查找问题

查看 Tomcat 版本

在tomcat的安装目录下,点击bin文件夹,之后进入cmd命令行(也可以直接在命令行进入这个bin文件夹路径)
然后输入:
catalina version

七、如何IP加端口直接访问

我相信很多人都会觉得多加了“test”工程名不好看且麻烦,希望直接通过ip端口的方式去访问。

这种方式网上有很多方案来配置,这里就不多介绍了。

这里我且只介绍我觉得最快也最简单的方法,缺点是这样一个 Tomcat 只能运行一个工程。

1.把 Tomcat 解压后,自带的webapps下文件都删除了,只保留 ROOT 这个文件夹

2.进入 ROOT 文件夹把里面的也全部删除了

3.把编译后的工程文件夹“WEB-INF”放到 ROOT 文件夹里面

这样直接启动 Tomcat 即可,然后浏览器上直接访问http://127.0.0.1:8092/

注:这里可以视ROOT 文件夹为你在idea 看到的webapp那个文件夹,若你工程下webapp下有其他资源和文件夹,都可以往 ROOT 这个文件夹里去放

八、配置服务器启动时工程自启动

1.进入tomcat_port_8092/bin目录,修改 service.bat,找到以下内容,修改SERVICE_NAME为自定义的服务名

               rem Set default Service name

               set SERVICE_NAME=tomcat8092

               set DISPLAYNAME=Apache Tomcat 8.0 %SERVICE_NAME%

2.在service.bat中搜索CATALINA_HOME,并全部替换为CATALINA_HOME_8092(与环境变量名保持一致)

3.在tomcat_port_8092/bin目录下,找到tomcat8.exe和tomcat8w.exe,重命名为SERVICE_NAME配置的名字一致,这里重命名为tomcat8092.exe和tomcat8092w.exe

4.使用命令行进入tomcat_port_8092/bin,执行service.bat install

5.使用win+r输入services.msc进入服务界面,找到DISPLAYNAME对应的服务名(即Apache Tomcat 8.0 tomcat8092),右键选择“属性”菜单,在“常规”选项卡选择“启动类型”为“自动”。

或者进入tomcat_port_8092/bin目录 ,双击tomcat8092w.exe,在弹出的界面选中General选项卡,选择Startup type为Automatic,即开机自启动

6.双击tomcat8092w.exe,在弹出的界面选中Log On选项卡,选择Log on as 为 Local System account,这样解决的是tomcat注册服务后跑应用不打印日志的问题。

7.至此自启动已经配置好了

相关文章:

windows环境下部署多个端口Tomcat服务和开机自启动设置保姆级教程

前言 本文主要介绍了 windows环境下&#xff0c;配置多个Tomcat设置不同端口启动服务。其实在思路上Linux上也是适用的&#xff0c;只是 Linux 上没有可视化客户端&#xff0c;会麻烦些&#xff0c;但总体的思路上是一样的。 注&#xff1a;文章中涉及些文字和图片是搬运了其他…...

科普文:一文搞懂jvm实战(四)深入理解逃逸分析Escape Analysis

概叙 Java 中的对象是否都分配在堆内存中&#xff1f; 好了太抽象了&#xff0c;那具体一点&#xff0c;看看下面这个对象是在哪里分配内存&#xff1f; public void test() { Object object new Object(); }这个方法中的object对象&#xff0c;是在堆中分配内存么&#xff1…...

中文大模型发展到哪一个阶段了?

中文大模型发展到哪一个阶段了&#xff1f; 近日&#xff0c;中文大模型综合性测评基准SuperCLUE&#xff0c;发布了上半年大模型中文综合评测报告。“百模大战”中&#xff0c;OpenAI的GPT-4o是表现最优秀的大模型&#xff0c;但国内大模型已将差缩小至4.8%。国内大模型崛起迅…...

【PostgreSQL】Spring boot + Mybatis-plus + PostgreSQL 处理json类型情况

Spring boot Mybatis-plus PostgreSQL 处理json类型情况 一、前言二、技术栈三、背景分析四、方案分析4.1 在PostgreSQL 数据库中直接存储 json 对象4.2 在PostgreSQL 数据库中存储 json 字符串 五、自定义类型处理器5.1 定义类型处理器5.2 使用自定义类型处理器 一、前言 在…...

华为910b推理Qwen1.5-72b

前情提要&#xff1a;华为910b部署训练推理大模型&#xff0c;本人之前并没有接触过&#xff0c;所以&#xff0c;写此文档进行记录。 &#xff08;注意&#xff1a;版本适配很重要&#xff01;&#xff01;不然就像我一样走了好多坑~~~&#xff09; 首先&#xff0c;看一张图…...

legoloam算法环境配置和调试笔记

安装gtsam 参考 Ubuntu20.04安装gtsam记录_gtsam安装-CSDN博客 mkdir buildcd buildcmake .. make -...

如何用CSS3画一个三角形?

要用 CSS3 画一个三角形&#xff0c;可以利用元素的边框和透明边框的特性来实现。以下是一个简单的示例代码&#xff1a; .triangle {width: 0;height: 0;border-left: 50px solid transparent; /* 左边框为透明&#xff0c;控制三角形的左斜边 */border-right: 50px solid tr…...

不同型号的GD32 MCU如何区分?

大家是否碰到过以下应用场景&#xff1a;同一套软件代码希望跑在不同型号的GD32 MCU中&#xff0c;但有些地方需要根据MCU型号进行调整&#xff1f;或者上位机或其他MCU与GD32 MCU通信时需要知道对应的MCU型号是哪个&#xff1f; 此时&#xff0c;我们就需要了解如何获取以及区…...

关于windows下编译xLua插件的流程记录

1.工程准备 1.xLua工程&#xff1a;GitHub - Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. 2.build_xlua_with_libs工程&#xff1a;GitHub - chexiongsheng/build_xlua_with_libs…...

Hadoop简明教程

文章目录 关于HadoopHadoop拓扑结构Namenode 和 Datanode 基本管理启动Hadoop启动YARN验证Hadoop服务停止Hadoop停止HDFS Hadoop集群搭建步骤准备阶段Java环境配置Hadoop安装与配置HDFS格式化与启动服务测试集群安装额外组件监控与维护&#xff1a; 使用Docker搭建集群使用Hado…...

基于STM32设计的药品柜温湿度监测系统(华为云IOT)(184)

基于STM32设计的药品柜温湿度监测系统(华为云IOT)(184) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】整体需求总结【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置【3】华为云IOT手机APP界面开发思路1.3 项目开发背景【1】选题的意义【2…...

SpringBoot源码阅读(10)——后处理器

后处理器是在监听器EnvironmentPostProcessorApplicationListener中被加载。 入口在SpringApplication实例方法prepareEnvironment&#xff0c;第343行。 listeners.environmentPrepared(bootstrapContext, environment);这里触发了事件ApplicationEnvironmentPreparedEvent 相…...

【源码开源】C#桌面应用开发:串口调试助手

c#桌面应用开发 1、环境搭建和工程创建&#xff1a;参照番茄定时器项目 工程创建参照 2、界面布局设计 3、具体功能函数 &#xff08;1&#xff09;端口扫描&#xff1a; private void btn_com_scan_Click(object sender, EventArgs e){//端口号扫描ReflashPortToComboBox(…...

malloc与free函数的用法(精简全面 · 一看即懂)

前言&#xff1a;Hello大家好&#x1f618;&#xff0c;我是心跳sy&#xff0c;今天为大家带来malloc函数与free函数的用法&#xff0c;我们一起来看看吧&#xff01; 目录 一、malloc函数 &#x1f4ab; 1、⭐️malloc函数对应的头文件⭐️ 2、⭐️malloc函数的作用⭐️ 3…...

强制升级最新系统,微软全面淘汰Win10和部分11用户

说出来可能不信&#xff0c;距离 Windows 11 正式发布已过去整整三年时间&#xff0c;按理说现在怎么也得人均 Win 11 水平了吧&#xff1f; 然而事实却是&#xff0c;三年时间过去 Win 11 占有率仅仅突破到 29%&#xff0c;也就跳起来摸 Win 10 屁股的程度。 2024 年 6 月 Wi…...

java-命令行连接 mysql

在 Java 中&#xff0c;通过命令行连接 MySQL 可以使用以下步骤。假设您已经安装并配置了 MySQL 5.7。 ### 一、通过命令行连接 MySQL #### 1. 打开命令行终端 在不同的操作系统上打开命令行终端的方式&#xff1a; - **Windows**&#xff1a;按 Win R 键&#xff0c;输入…...

RK3588部署YOLOV8-seg的问题

在使用YOLOV8-seg训练出来的pt模型转为onnx的时候&#xff0c;利用以下仓库地址转。 git clone https://github.com/airockchip/ultralytics_yolov8.git 在修改ultralytics/cfg/default.yaml中的task&#xff0c;mode为model为自己需要的内容后&#xff0c; 执行以下语句 cd …...

Python Linux下编译

注意 本教程针对较新Linux系统&#xff0c;没有升级依赖、处理旧版本Linux的openssl等步骤&#xff0c;如有需要可以查看往期文章&#xff0c;例如&#xff1a;在Centos7.6镜像中安装Python3.9 教程中没有使用默认位置、默认可执行文件名&#xff0c;请注意甄别 安装路径&#…...

SpringMVC(3)——SpringMVC注解实战

前言 SpringMVC&#xff08;2&#xff09;——controller方法参数与html表单对应&#xff08;请求参数的绑定&#xff09; 上篇博客我们提到了controller方法的参数与html表单之间的对应关系 但是这种对应关系有很多缺点&#xff1a; 传递参数只能放在request的body当中&am…...

统信UOS上批量安装惠普打印驱动后启动器没有图标的解决方法

原文链接&#xff1a;统信UOS上批量安装惠普打印驱动后启动器没有图标的解决方法 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信UOS上批量安装惠普打印驱动后启动器没有设置图标的解决方法的文章。批量安装打印驱动是企业和个人用户常见的操作&#xff0…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...