1 前言
apache-tomcat-9.0.35
我们都知道 Tomcat 可以部署 war包和静态资源,一般都是放在webapps
下面;但是我们还应该知道,有个界面会帮我们去完成这个操作的,当然这个界面一般是不开放的,自己用的时候可以开放出来。
-
开启 Tomcat服务(直接到tomcat服务器的bin目录下运行startup.sh脚本);
-
浏览器访问 http://localhost:8080 ,如图:
上述就是Tomcat的三个控制台界面的入口按钮,分别是Server Status控制台、Manager App控制台和Host Manager控制台;
Server Status 控制台 : 用来监控服务器状态;
Manager App控制台 : 可以部署、监控web应用,因此通常使用Manager控制台即可;
Host Manager控制台 : Tomcat 的虚拟主机管理
点击任意控制台的按钮,会弹出窗口 让输入用户名密码,你随便输入,反正是进不去,点取消还会报错,如图:
大致意思如下:
您没有权限查看此页面(控制台);
如果尚未更改任何Tomcat的配置文件,请在Tomcat的安装文件中检查文件conf/tomcat-users.xml
;
该文件必须包含凭据(登录角色和密码),以便您使用此 Web应用程序(控制台);
例如,要将manager-gui
角色,添加到【用户名为tomcat且密码为s3cret】的用户中,
请将以下内容添加到上面列出的配置文件conf/tomcat-users.xml
中:
<role rolename =“manager-gui” />
<user username =“tomcat” password =“s3cret” role =“manager-gui” />
请注意:
从 Tomcat 7 开始,使用管理器应用程序所需的角色已从单个管理器角色更改为以下四个角色,
您将需要分配想要访问的功能所需的角色,如下:
manager-gui : 允许访问HTML GUI和状态页面
manager-script : 允许访问文本界面和状态页面
manager-jmx : 允许访问JMX代理和状态页面
manager-status : 仅允许访问状态页面
HTML界面受CSRF保护,但text和JMX界面不受保护。 维护CSRF保护:
具有manager-gui角色的用户不应被授予manager-script 或 manager-jmx角色;
如果通过浏览器访问了文本或jmx接口(例如,由于这些接口是针对非人类的工具而进行测试),则此后必须关闭浏览器以终止会话。
2 如何登陆控制台?
Tomcat默认没有配置任何用户,我们可以打开 conf/tomcat-users.xml
文件,通过user元素添加用户;
如上所述,我们需要到Tomcat的安装目录下,找到 conf/tomcat-users.xml
配置文件,
- 使用
role
元素 添加管理员角色 - 使用
user
元素 添加用户 - 使用 user元素的
roles
属性,赋予该用户管理器应用程序所需的角色(可以多个,以逗号分隔),即可
conf / tomcat-users.xml
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0">
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<!-- manager 角色 -->
<role rolename="manager-gui"/>
<!-- 被赋予该角色的用户 -->
<user username="tomcat" password="s3cret" roles="manager-gui"/>
</tomcat-users>
上面配置文件就增加了一个 manager-gui
用户;
我们登陆 【控制台】 需要不同的角色,可以参考/webapps/manager/WEB-INF/web.xml
文件知道;
Tomcat支持的管理员角色只有四个,如下:
webapps / manager / WEB-INF / web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>Status interface</web-resource-name>
<url-pattern>/status/*</url-pattern>
</web-resource-collection>
<!-- 管理员角色 -->
<auth-constraint>
<role-name>manager-gui</role-name>
<role-name>manager-script</role-name>
<role-name>manager-jmx</role-name>
<role-name>manager-status</role-name>
</auth-constraint>
</security-constraint>
注意:
配置了 manager-gui
角色的用户,不可以再被授予 manager-script
或 manager-jmx
角色。
点击 Manager App
按钮,成功登录之后,可以看到,如图:
3 部署web应用
部署web应用的方式主要有以下几种:
- 利用tomcat的自动部署
- 利用控制台部署
- 增加自定义的Web部署文件
- 修改server.xml文件部署Web应用
3.1 利用tomcat的自动部署
利用tomcat的自动部署是最简单,最常用的方式,只需要将一个web应用复制到Tomcat的webapps目录下,就可以,系统就会把该应用部署到tomcat中。
3.2 利用控制台部署
在web应用的控制台,按如下两种方式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ZIpNPO8-1596967425656)(https://s1.ax1x.com/2020/08/09/aT7raF.png)]
点击Deploy按钮,将会看到Tomcat的webapps目录下多了一个名为aaa的文件夹,该文件夹的内容就是部署的web应用。这表明:当利用控制台部署应用时,实际依然是利用tomcat的自动部署。
3.3 自定义的Web部署文件
操作步骤:
- 在
conf/Catalina/localhost
目录下,新建一个任意名字的xml文件 - 该文件就是部署web应用的配置文件
- 该文件的文件名,将作为web应用的虚拟路径
例如: 在 conf/Catalina/localhost
目录下,增加一个test.xml文件,该文件内容如下:
<Context docBase="Web应用在磁盘的绝对路径" debug="0" privileged="true"/>
再次启动Tomcat服务,Tomcat会把该配置文件路径下的web应用,部署到Tomcat。
3.4 修改server.xml文件部署Web应用
这种方式是修改 conf/server.xml
文件,修改该文件可能破坏Tomcat的系统文件,不建议采用,这里就不提了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69761.html