86284851 2019-11-08
环境
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]#
这样就是安装完成了,标记的地方有三个按钮
server status
manager app
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>