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

相关推荐
花间相见17 分钟前
【LangChain组件03】—— LangChain Agents 执行与状态:工作流程与状态管理实战
java·前端·langchain
敲代码的嘎仔19 分钟前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂
程序员黎剑2 小时前
Spring-Bean生命周期-构造器访问Autowired字段为null
java·后端·spring
古法安卓2 小时前
Android-重启流程源码解析
android·java·android studio
清水白石0082 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h2 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林3 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
洋不写bug3 小时前
绕过权限检查,访问修改私有属性,反射,枚举,lambda
java·枚举·lambda·反射
evans在进步3 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
lisin-lee-cooper3 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法