zoukankan      html  css  js  c++  java
  • CentOS 6.5上的Tomcat启动报错问题

    最近在搭建虚拟机环境,装的是CentOSQL 6.5版本,然后装的OpenJDK1.7,在Apache下载了一个纯净的Tomcat放到虚拟机上启动报错了;

    这里有两个错误:

    1、第一个错误,APR的问题,错误详情:

    The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

    2、第二个错误,错误详情:

    Exception in thread "main" java.lang.InternalError

            at sun.security.ec.SunEC.initialize(Native Method)

            at sun.security.ec.SunEC.access$000(SunEC.java:49)

            at sun.security.ec.SunEC$1.run(SunEC.java:61)

    第一个问题的解决方法:

    这是一个APR的问题,因为Tomcat需要依赖APR来优化性能,就需要安装APR

    1、首先安装APR,采用源码安装的方式,默认安装在:/usr/local/apr

    wget    http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz

    tar -zxvf apr-1.5.0.tar.gz

    cd apr-1.5.0

    ./configure

    make

    make install

    2、接下来安装Tomcat-native,这个gz包在Tomcat的bin目录下面已经存在了,直接解压tomcat-native;

    进入目录:cd   tomcat-native-1.2.7-src/native,然后编译安装:

    ./configure --with-apr=/usr/local/apr  --with-java-home="/usr/lib/jvm/java-1.7.0" --with-ssl=yes

    如果下载的Tomcat版本较新的话,编译安装会出现OpenSSL版本不一致的问题,无法安装,如下错误:

    checking OpenSSL library version >= 1.0.2... configure: error: Your version of OpenSSL is not compatible with this version of tcnative

    这事就需要下载一个版本低一点的Tomcat-native包:

    wget    http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz

    上面的gz包下载下来之后,放到Tomcat的bin目录下去,解压,进入目录:cd  tomcat-native-1.1.20-src/jni/native,再编译安装

    3、编译安装成功之后,在Tomcat的bin目录下,新建一个名为setenv.sh的文件

    新建文件中加入内容:

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
             export LD_LIBRARY_PATH

    4、经过上述三步,第一个问退可以解决;

     

     

    第二个问题解决方法:

    这是因为JDK的版本而产生的问题,我装的是OpenJDK,会出现JAR包的缺失,导致启动报错,所以这里需要更换为Oracle官方给出的JDK

    1、去Oracle官方下载一个这样的包:jdk-7u79-linux-x64.tar.gz

    2、解压之后,移动到/usr/local/java目录下

    3、添加环境变量:vim   /etc/profile,文件最后添加下面几行

    export JAVA_HOME=/usr/local/java/jdk1.7.0_79   //实际的JDK路径

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

     

    export PATH=$PATH:$JAVA_HOME/bin

    4、完成上述安装之后,再启动Tomcat,发现还会报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    这个问题是因为Tomcat没有识别出JDK的环境变量

    5、修改Tomcat中bin目录的catalina.sh文件,在文件的开头,加入下面代码:

    export JAVA_HOME=/usr/local/java/jdk1.7.0_79  ////实际的JDK路径

     

    export JRE_HOME=/usr/local/java/jdk1.7.0_79/jre

     

    最后启动Tomcat,日志打印正常,浏览器也能够访问,问题解决

    Exception in thread "main" java.lang.InternalError
            at sun.security.ec.SunEC.initialize(Native Method)
            at sun.security.ec.SunEC.access$000(SunEC.java:49)
            at sun.security.ec.SunEC$1.run(SunEC.java:61)
  • 相关阅读:
    如何去掉myeclipse的web项目启动时出现的 CodeLive Panel
    day35_Spring学习回顾_03
    在CentOS/RHEL上设置SSH免密码登录
    超全Linux备份工具集合,满足你的所有需要!
    使用Gnupg对Linux系统中的文件进行加密
    Linux压缩那些事儿
    或许是 Nginx 上配置 HTTP2 最实在的教程了
    Systemd 三部曲 之 PHP7
    Linux kernel模块管理相关详解
    搜狐视频Redis私有云平台CacheCloud
  • 原文地址:https://www.cnblogs.com/lianliang/p/5777171.html
Copyright © 2011-2022 走看看