下载与安装
下载地址:
https://tomcat.apache.org/
查看下载版本
这里9.0.56是针对于java8开发的,我的JDK版本是8,所以选择下载Tomcat9.0.52
根据系统下载对应的版本,zip是免安装版,installer是安装版
下载zip后解压即可
启动方法:点击startup.bat–如果出现一闪而过的情况,要检查JDK的环境变量配置是否正确
打开浏览器访问localhost:8080,出现如下界面即可
介绍
- bin目录用于存放启动和关闭Tomcat的命令的路径
- conf用于存放Tomcat的配置信息
- lib用于存放Tomcat的核心类库–也可将第三方类库加入到该路径下
- logs用于在Tomcat运行时生成日志信息的路径
- temp用于存放Web应用运行时的临时文件
- webapps用于自动部署Web应用,将web引用打包为一个war包后复制到该路径下,Tomcat会自动部署
- work用于保存Web应用在运行过程中编译生成的class文件,该文件夹可删除,但是每次运行tomcat都会自动生成该文件夹
Tomcat的端口可以在server.xml文件中修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Tomcat运行多个服务,复制<Service>
修改相应的参数
Tomcat要在web应用根路径下所有页面,将web.xml中的listings对应的value值设置为true即可
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Tomcat界面
三个控制台:
- Server Status:用于监控服务器的状态
- Manager App:可以部署、监控Web应用
- Host Manager:Tomcat虚拟主机管理员
如何进入三个控制台
Web应用存放在webapps路径下,而Manager控制台对应的应用也放置在webapps路径下
- 首先启动Tomcat–查看Server Status
由于不知道密码,发现根本进不去,我们取消登录就会出现如图所示错误
根据报错获取如下信息:
- 需要在
conf/tomcat-users.xml
文件中添加manager-gui
这个角色,并设置账号密码 - 设置格式如下:
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
- manager一共有4个角色:
- manager-gui:允许访问HTML和状态界面(/html/*)
- manager-script:允许访问文本界面和状态界面(/text/*)
- manager-jmx:允许访问JMX代理和状态界面(/jmxproxy/*)
- manager-status:只允许访问状态界面(/status/*)
由此我们得知:
只需要设置manager-status这个角色我们就可以访问Server Status这个界面了
<role rolename="manager-status"/>
<user username="xxx" password="xxx" roles="manager-status"/>
- 进入Manager App界面–由于设置了manager-status,默认使用之前登录的status角色,导致无法访问管理的HTML应用界面
已知所有角色都能访问状态界面,因此,我们可以在业务无特殊要求的情况下,只设置manager-gui、manager-script、manager-jmx这三个角色即可
首先测试manager-gui
在conf/tomcat-users.xml中设置如下:
<role rolename="manager-gui"/>
<user username="manager" password="manager" roles="manager-gui"/>
即可访问Manager App和Server Status界面
manager-script和manager-jmx为工具接口不可通过浏览器进行访问
但是配置了manager-script后即可支持Maven项目远程热部署
- 想要访问Host Manager,必须添加一个admin-gui角色–这个角色是在webapps\host-manager\WEB-INF\web.xml中注明的
<role rolename="admin-gui"/>
<user username="managerScript" password="managerScript" roles="admin-gui"/>
至此,我们就可以访问三个控制台了