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

相关推荐
你想考研啊1 天前
linux安装jdk和tomcat和并自启动
java·linux·tomcat
悟能不能悟1 天前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
高山上有一只小老虎1 天前
java 正则表达式大全
java·正则表达式
_院长大人_1 天前
设计模式-工厂模式
java·开发语言·设计模式
凌波粒1 天前
MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j
java·intellij-idea·mybatis
蓝-萧1 天前
【玩转全栈】----Django基本配置和介绍
java·后端
priority_key1 天前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
汤姆yu1 天前
基于SpringBoot的动漫周边商场系统的设计与开发
java·spring boot·后端
皮皮林5511 天前
快速解决 Maven 版本冲突指南 !
java·maven
灰小猿1 天前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud