应用服务器Tomcat

启动两给tomcat

apache-tomcat-9.0.60\bin------>

启动tomcat startup.bat (Windows) / startup.sh(Linux)

关闭tomcat shutdown.bat(Windows)/shutdown.sh (Linux)

复制一个Tomcat为2,先启动第一个tomcat,后启动第二个tomcat会出错。

查看tomcat的logs的日志文件

可以看到出错的信息,端口号被占用,多个tomcat实例冲突

解决方法更改第二个tomcat------>conf------>server.xml

默认:<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

配置项 作用 默认值 可修改项
<Server port="8005"> Tomcat 关闭端口 8005 可改为其他端口(如 8006
<Connector port="8080"> HTTP 请求端口 8080 可改为 8081

部署

把hello.war部署到两个tomcat中,

  1. 一个放在apache-tomcat-9.0.60\webapps

启动tomcat,把hello.war放到 webapps 自动解压

访问: http://localhost:8080/hello 解压名称

  1. 另一个apache-tomcat-9.0.60\webapps\root

删除root目录下类容,解压hello.war,把hello子目录复制到root目录下

访问:http://localhost:8080

1个tomcat可以部署多个应用,但默认应用只有一个放在ROOT

HTTP Status 404 -- Not Found 没有找到
500 服器异常
401 Unauthorized 未授权

特性 ROOT 应用 非 ROOT 应用
访问方式 http://localhost:8080/(不带应用名) http://localhost:8080/应用名/(必须带应用名)
存放位置 $CATALINA_HOME/webapps/ROOT $CATALINA_HOME/webapps/应用名
适用场景 主站、官网、直接访问的应用 子系统、模块化部署(如后台、API)
是否唯一 一个 Tomcat 只能有一个 ROOT 应用 可以有多个非 ROOT 应用
部署方式 直接放在 webapps/ROOT 目录 放在 webapps/应用名 目录

tomcat 两种部署方式

第一种直接手动部署到 webapps 目录下,Tomcat 默认会自动解压 .war 文件并部署应用。

第二种Tomcat Manager 应用(Web 界面部署)​

直接访问 http://localhost:8080/manager/html ,根据提示复制类容conf/tomcat-users.xml,更改用户名密码

复制代码
<role rolename="manager-gui"/>
<user username="admin" password="123456" roles="manager-gui"/>

进入界面点击要要部署的war包文件,部署即可

相关推荐
Flittly4 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了4 小时前
Java 生成二维码解决方案
java·后端
人活一口气8 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP10 小时前
Vibe Coding -- 完整项目案例实操
java
荣码10 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing10 小时前
Google第三方授权登录
java·后端·程序员
明月光81810 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑20 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯20 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路1 天前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java