tomcat 配置host-manager

前期了解了基本的框架,搭建了tomcat9.0版本,因为面试提到了tomcat监控,顺便配置了一下tomcat欢迎界面的三个按钮,因为临时有工作忙活了一天,特别记录一下,网上好多资料都是马马虎虎的,
推荐一个官网的连接,写的比较好
https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html#Deploy_a_Directory_or_WAR_by_URL

环境
CentOS Linux release 7.3.1611 (Core)
tomcat9.0.27下载
jdk-8u191-linux-x64.tar.gz下载 密码v1hu

首先安装jdk,如果自带的jdk网上提示都要卸载了,我的jdk前期安装的比较乱,所以
rpm -qa | grep jdk
然后找到的已安装的给卸载了
yum remove XXXXX
tar -zxvf jdk-8u191-linux-x64.tar.gz
mv jdk-8u191-linux-x64 jdk13.0.1
添加.bash_profile JAVA_HOME
JAVA_HOME=/root/jdk13.0.1/
export PATH=$PATH:$JAVA_HOME/bin
[ ~]# tar -zxvf apache-tomcat-9.0.27.tar.gz 
[ ~]# cp apache-tomcat-9.0.27 tomcat9.0.27
这样tomcat解压开就完成了,不用安装,拿来就用
[ tomcat9.0.27]# sh bin/startup.sh 
Using CATALINA_BASE:   /root/tomcat9.0.27
Using CATALINA_HOME:   /root/tomcat9.0.27
Using CATALINA_TMPDIR: /root/tomcat9.0.27/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /root/tomcat9.0.27/bin/bootstrap.jar:/root/tomcat9.0.27/bin/tomcat-juli.jar
Tomcat started.
[ tomcat9.0.27]#

tomcat 配置host-manager

这样就是安装完成了,标记的地方有三个按钮
server status
manager app
host manager

点击任何一个都会提示
tomcat 配置host-manager

标记了三个地方:
第一行提示是否配置了context.xml 这个提示比较恶心啊 不注意看不知道是哪儿的context.xml,
找了一下
[ tomcat9.0.27]# find ./ -name context.xml
./conf/context.xml
./webapps/host-manager/META-INF/context.xml
./webapps/manager/META-INF/context.xml一直以为是CATALINA_BASE/conf下的,其实不是,人家英文提示了是manager下的,也就是CATALINA_BASE/webapps/manager/META-INF/context.xml 下的
第二个是配置tomcat-users.xml
第三个是怎么配置tomcat-users.xml

第一配置manger目录下的context.xml
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve classname="org.apache.catalina.valves.RemoteAddrValve"
allow="d.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1" /> -->
这一行我加了注释,原文是没有的,这个意思是谁可以访问,
<Manager sessionAttributeValueClassNameFilter="java.lang.(?:Boolean|Integer|Long|Number|String)|org.apache.catalina.filters.CsrfPreventionFilter\$LruCache(?:\$1)?|java.util.(?:Linked)?HashMap"/>
</Context>

第二是 conf/tomcat-users.xml 这个文件是CATALINA_BASE目录
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="s3cret" roles="admin-gui,manager-gui,manager-script,manager-status"/>
</tomcat-users> 这个是在tomcat-users标签里边添加的

说明一下这个host manger标签跟上边两个用的不是一个配置,host manger用的是/webapps/host-manager/META-INF/context.xml 个人理解这三个是一个是汇总,另外是针对某一个app的,就像水龙头,开的是最大的口而manger是三分的管,host-manger是五分的管,所以权限可以配置不一样的,

另外配置了一个案例官方的sample 这个是conf/server.xml
<Host name="sample" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
tomcat 配置host-manager
tomcat 配置host-manager

相关推荐