• 记一次tomcat升级遇到的问题


    服务器上一直用的tomcat7,因为被扫描到诸多漏洞,特将版本升到最新的apache-tomcat-9.0.21.tar.gz。简单记录一下整个升级过程。
    下载地址:https://tomcat.apache.org/download-90.cgi
    使用的版本:Core:tar.gz (pgp, sha512)

    关闭原来tomcat7进程
    下载完成后,上传到指定服务器目录。

    1.解压‘apache-tomcat-9.0.21.tar.gz’ tar -xvf apache-tomcat-9.0.21.tar.gz
    2.删除‘apache-tomcat-9.0.21’文件夹下‘webapps’目录下的所有初始项目
    3.‘tomcat7’文件夹下‘webapps’目录中的所有项目移动到‘apache-tomcat-9.0.21’文件夹下‘webapps’目录中
    4.进入‘webapps’目录下
    ①切换至‘BMS/WEB-INF/lib/’ ②备份‘ aopalliance-alpha1.jar’ 为‘ aopalliance-alpha1.jar.back.20190626’
    5.进入‘webapps’目录下
    ①切换至‘portal/WEB-INF/lib/’ ②备份‘ aopalliance-alpha1.jar’ 为‘ aopalliance-alpha1.jar.back.20190626’
    6.修改tomcat9的配置文件 conf/server.xml,修改里面的端口跟老版本一致,修改应用文件的路径(如果应用文件位置跟我使用一样的默认位置webapps,则不用修改)。
    7…进入‘bin’目录下
    sh startup.sh 尝试启动
    tail -fn200 ../logs/catalina.out 查看日期启动情况

    注意:
    第4、5项可以不执行,那是我们项目中本身JAR包冲突导致的具体错误可以看下文中升级过程中遇到的问题
    最后启动tomcat,通过netstat -nlpt命令和catalina.out文件检查是否正常启动。
    若服务器上多个tomcat时,config/server.xml文件中的端口都不能冲突。只有一个文件中可以使用默认,其他都需要修改。

    第一次启动可以暂时不用以下备注

    备注:
    进入‘bin’目录下
    vi catalina.sh 修改该文件
    文件头部定义全局变量
    文件头部插入:

    JAVA_HOME=/usr/java/jdk1.8.0_162/  ---变更为自己目录
    JAVA_OPTS=' -Dclient.encoding.override=GBK -Dfile.encoding=GBK -Duser.language=zh -Duser.region=CN'
    JRE_HOME=$JAVA_HOME/jre
    #CATALINA_PID=/usr/tomcat9/catalina_pid
    CATALINA_BASE=/data/javaprogram/apache-tomcat-9.0.21			---变更为自己目录
    CATALINA_HOME=/data/javaprogram/apache-tomcat-9.0.21			---变更为自己目录
    CATALINA_TMPDIR=/data/javaprogram/apache-tomcat-9.0.21/temp		---变更为自己目录
    #CLASSPATH=/data/javaprogram/apache-tomcat-9.0.21/bin/bootstrap.jar:/data/javaprogram/apache-tomcat-9.0.21/bin/tomcat-juli.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    升级过程中遇到的问题:

    数据库连接地址导致的错误
    BeanNotOfRequiredTypeException: Bean named ‘txAdvice’ must be of type [org.aopalliance.aop.Advice],
    查看Linux中自带的jdk ,设置JAVA_HOME

    参考:Tomcat6升级到Tomcat9

  • 相关阅读:
    jquery validate常用方法及注意问题
    jQuery Validate
    $('div','li') 和 $('div , li') 和 $('div li') 区别
    HTML中Div、span、label标签的区别
    Java中访问修饰符public、private、protecte、default
    shiro过滤器过滤属性含义
    (转载)常用Git命令清单
    Git-简明指南
    菜鸟程序员怎么才能提高自己的技术--(献给自己共勉)
    Visiual Studio CLR20r3问题
  • 原文地址:https://www.cnblogs.com/cxy2020/p/13815984.html
Copyright © 2020-2023  润新知