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

news2024/9/28 23:27:24

前言

  本文主要介绍了 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.至此自启动已经配置好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分布式系统三】监控平台Zabbix对接grafana(截图详细版)

目录 一.安装grafana并启动 二.浏览器访问 三.导入zabbix数据&#xff0c;对接grafana 四.如何导入模版 以前两篇博客为基础 【分布式系统】监控平台Zabbix介绍与部署&#xff08;命令截图版&#xff09;-CSDN博客 【分布式系统】监控平台Zabbix自定义模版配置-CSDN博客 …

上海亚商投顾:沪指低开低走 全市场下跌个股超4800只

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日低开低走&#xff0c;尾盘集体跌超1%&#xff0c;北证50、微盘股指数跌逾3%。 板块概念方面&…

发那科机床联网串口配置

本文章仅针对无网口&#xff0c;需要通过串口输出采集数据情况。跟这篇文章互为参考&#xff0c;一个理论&#xff0c;一个实战。 Fanuc DPRNT宏程序串口采集-CSDN博客 一、禁用机器串口监控 选择System、monit 二、设置参数可写 在MDI模式中字符面板上按OFS/SET键,连按致屏…

NET Core 中的空对象设计模式

介绍 一种称为“空对象模式”的行为设计模式提供了一个对象来表示接口缺少的对象。在空对象会导致空引用异常的情况下&#xff0c;这是一种提供替代行为的方法。在本文中&#xff0c;我们将深入探讨 C# 空对象模式&#xff0c;并逐步解决更复杂的情况。 空对象设计模式它是什…

使用 C# 训练大型语言模型和小型语言模型

介绍 训练大型语言模型 (LLM) 和小型语言模型 (SLM) 在人工智能和机器学习领域获得了巨大的关注。这些模型能够理解和生成类似人类的文本&#xff0c;具有从聊天机器人到高级数据分析的广泛应用。本文探讨了使用 C#&#xff08;一种在企业环境中广泛使用的面向对象编程语言&am…

Leetcode—93. 复原 IP 地址【中等】

2024每日刷题&#xff08;140&#xff09; Leetcode—93. 复原 IP 地址 实现代码 class Solution { public:vector<string> restoreIpAddresses(string s) {vector<string> ans;vector<string> path;function<void(int)>dfs [&](int start) {if…

哪里有主机游戏店收费系统,佳易王电玩ps5ps4计时计费系统操作教程

哪里有主机游戏店收费系统&#xff0c;佳易王电玩ps5ps4计时计费系统操作教程 以下软件操作教程以&#xff0c;佳易王计时计费管理系统为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 一、软件程序图文讲解 1、主机游戏计时软件、电玩店计费软…

电子版盖章怎么弄(电子版公章怎么盖上)

下面是利用e章宝盖电子公章更简单&#xff0c;从印章库中选中要盖的公章&#xff0c;然后在文档中想要盖的位置单击一下即可&#xff1a; 第一步&#xff1a;制作需要盖的电子印章 一般是先扫描公章&#xff0c;然后使用e章宝的一键抠章功能&#xff0c;把印章导入到印章库中…

(三)前端javascript中的数据结构之集合

集合的特点 1.无序 2.唯一性 3.不可重复 集合相对于前面几种数据结构&#xff0c;比较简单好理解&#xff0c;看看代码实现就能知道他的用法了 集合的创建 function MySet() {this.item {}; } MySet.prototype.has function (value) {return value in this.item; };//增 M…

Golang | Leetcode Golang题解之第224题基本计算器

题目&#xff1a; 题解&#xff1a; func calculate(s string) (ans int) {ops : []int{1}sign : 1n : len(s)for i : 0; i < n; {switch s[i] {case :icase :sign ops[len(ops)-1]icase -:sign -ops[len(ops)-1]icase (:ops append(ops, sign)icase ):ops ops[:len(o…

如何忽略部分文件或者文件夹在git提交项目时

嗨&#xff0c;我是兰若&#xff0c;最近发现有些小伙伴在提交代码时&#xff0c;总是把不该提交的文件&#xff0c;比如说本地批跑的缓存文件给提交到了git上面&#xff0c;导致别人在拉取代码的时候&#xff0c;也会把这部分文件拉取到自己本地&#xff0c;从而导致和本地的缓…

树莓派4B_OpenCv学习笔记21:OpenCV_haar人脸识别

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: ​ Opencv 版本是4.5.1&#xff1a; ​ Python 版本3.7.3&#xff1a; 今日学习&#xff…

昇思25天学习打卡营第16天 | 文本解码原理-以MindNLP为例

基于 MindSpore 实现 BERT 对话情绪识别 上几章我们学习过了基于MindSpore来实现计算机视觉的一些应用&#xff0c;那么从这期开始要开始一个新的领域——LLM 首先了解一下什么是LLM LLM 是 “大型语言模型”&#xff08;Large Language Model&#xff09;的缩写。LLM 是一种…

【高中数学/幂函数】比较a=1/2^2/3,b=1/5^2/3,c=1/5^1/3的大小

【问题】 已知&#xff1a;a1/2^2/3,b1/5^2/3,c1/5^1/3 求&#xff1a;a,b,c的大小关系&#xff1f; 【解答】 因为幂函数yx^2/3是在x正半轴是递增的&#xff0c;1/2>1/5,所以1/2^2/3>1/5^2/3&#xff0c;即a>b; 因为幂函数yx^1/3是在x正半轴也是递增的&#xff…

昇思25天学习打卡营第13天|应用实践之ResNet50迁移学习

基本介绍 今日的应用实践的模型是计算机实践领域中十分出名的模型----ResNet模型。ResNet是一种残差网络结构&#xff0c;它通过引入“残差学习”的概念来解决随着网络深度增加时训练困难的问题&#xff0c;从而能够训练更深的网络结构。现很多网络极深的模型或多或少都受此影响…

ScreenAI ——能理解从信息图表到用户界面的图像和文本算法解析

概述 论文地址&#xff1a;https://arxiv.org/pdf/2402.04615.pdf 信息图表&#xff08;图表、示意图、插图、地图、表格、文档布局等&#xff09;能够将复杂的数据和想法转化为简单的视觉效果&#xff0c;因此一直以来都被视为传播的重要元素。这种能力来自于通过布局和视觉线…

C#——序列化和反序列化概念

(1)序列化 在编程中&#xff0c;序列化是指将对象转换为可存储或传输的格式&#xff0c;例如将对象转换为 JSON 字符串或字节流。 (2)反序列化 在编程中&#xff0c;反序列化则是将存储或传输的数据转换回对象的过程。 序列化和反序列化经常用于数据的持久化、数据交换以及…

【计算机毕业设计】013新闻资讯微信小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【高中数学/指数函数】比较a=0.6^0.9 b=0.6^1.5 c=1.5^0.6的大小

【问题】 比较a0.6^0.9 b0.6^1.5 c1.5^0.6的大小 【解答】 指数函数y0.6^x是减函数&#xff0c;因为0.9<1.5,所以0.6^0.9>0.6^1.5,即a>b; 指数函数y1.5^x是增函数&#xff0c;1.5^0.6>1.5^01>0.6^0.9,即c>a; 综上&#xff0c;得出c>a>b的结论。 …

移动UI:该如何给页面降噪,给你支8招。

为什么我的移动UI页面看来这么复杂、为什么用户很迷茫&#xff0c;不知道如何操作&#xff0c;为什么很拥挤&#xff0c;核心原因还是页面噪声过多了&#xff0c;需要适当的降噪。 降低页面噪音&#xff0c;提高页面的简洁高效性是一个重要的设计目标。以下是一些降噪的设计方…