tomcat——隐藏版本查看
rehoni / 2020-09-01
备份原来的tomcat配置文件
在ems用户下,备份原来tomcat下的tomcat/conf
目录,注意操作前shutdown掉tomcat
cp -r conf/ 目录
在ems用户下,给原来的tomcat压一份包备份,如果无法压缩则用root账户压包
tar czf old_tomcat.tar.gz -C 目录
放入新的tomcat
官网下载最新的tomcat的tar.gz包,上传到服务器上解压缩
tar xf apache-tomcat-8.5.57.tar.gz -C 目录
将旧的conf文件夹替换掉新的tomcat的conf文件夹,正常启动新的tomcat即可,删除旧的tomcat文件夹
查看/隐藏tomcat版本
查看tomcat版本
- bin目录下
.version.sh
- lib目录下找到
catalina.jar
包,解压缩查看里边的org\\apache\\catalina\\util\\ServerInfo.properties
文件 - lib目录下找到
catalina.jar
包,解压缩查看里边的org\\apache\\catalina\\MANIFEST.MF
文件,仅作为参考(最低版本)。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.5
Created-By: 1.8.0_151-b12 (Oracle Corporation)
Specification-Title: Apache Tomcat
Specification-Version: 8.5
Specification-Vendor: Apache Software Foundation
Implementation-Title: Apache Tomcat
Implementation-Version: 8.5.42
Implementation-Vendor: Apache Software Foundation
X-Compile-Source-JDK: 1.7
X-Compile-Target-JDK: 1.7
修改tomcat版本
推荐直接修改lib目录下catalina.jar
包,解压缩修改里边的org\\apache\\catalina\\util\\ServerInfo.properties
文件,然后再重新压成jar包,放入tomcat替换。
取消session持久化功能
Session 是保存在内存中的,如果服务器重启、宕机的话,Session 就会丢失。有时候,我们需要对 Session 持久化以应对意外的情况发生。例如,客户端与服务器在交互过程中,可能因为 Session 的丢失而造成数据的丢失。还有一种情况,我们需要持久化 Session。如果当前用户的访问量巨大,大量的 Session 便会占用服务器大量的内存,从而使服务器的性能受到影响。如果能将一些闲置时间较长的 Session 换出,存储至磁盘,便可以起到节省内存空间的作用。需要注意的一点是,要持久化 Session,那么 Session 里存放的对象必须是可序列化的,即实现了 java.io.Serializable 接口。Tomcat 通过两个 Session 管理类来实现 Session 的持久化:org.apache.catalina.session.StandardManager 和 org.apache.catalina.session。 可以通过 $CATALINA_HOME/conf/context.xml 的 节点来配置 Session 的持久化方式。Tomcat 默认已经启动了持久化配置,若要禁用持久化功能,只需在 节点里配置 。
修改完context.xml之后报错,tomcat启动服务全down了,排查当天的Catalina日志时,发现问题如下:
11-Jul-2020 14:22:51.050 严重 [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processContextConfig 解析context.xml错误,[/zhsbd_deployment]
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:701)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:567)
目测是那一行中文注释引起的,删除中文注释后,tomcat正常启动,所有服务正常。