应用服务器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包文件,部署即可

相关推荐
shejizuopin几秒前
基于JavaSSM+MySQL的实验室考勤管理系统设计与实现
java·mysql·vue·毕业设计·论文·springboot·实验室考勤管理系统设计与实现
J***516811 分钟前
SpringSecurity的配置
java
面汤放盐13 分钟前
软件架构指南 Software Architecture Guide
java·微服务·devops
tkevinjd13 分钟前
JUC5(线程池)
java·线程池·多线程·juc
Tao____14 分钟前
如何对接Modbus-tcp协议(使用Thinlinks物联网平台)
java·物联网·网络协议·tcp/ip·modbus
鱼跃鹰飞18 分钟前
经典面试题:K8S的自动缩扩容和崩溃恢复
java·容器·kubernetes
Coder_Boy_23 分钟前
Spring Boot 事务回滚异常 UnexpectedRollbackException 详解(常见问题集合)
java·spring boot·后端
青云交24 分钟前
Java 大视界 -- 基于 Java+Redis Cluster 构建分布式缓存系统:实战与一致性保障(444)
java·redis·缓存·缓存穿透·分布式缓存·一致性保障·java+redis clus
不知疲倦的仄仄25 分钟前
第五天:深度解密 Netty ByteBuf:高性能 IO 的基石
java·开源·github
xiaobaishuoAI29 分钟前
后端工程化实战指南:从规范到自动化,打造高效协作体系
java·大数据·运维·人工智能·maven·devops·geo