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的文件
新建文件中加入内容:
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)
CentOS 6.5上的Tomcat启动报错问题的更多相关文章
- tomcat启动报错:Injection of autowired dependencies failed
tomcat启动报错:Injectjion of autowired dependencies failed 环境: 操作系统:centos6.5 tomcat: 7.0.52 jdk:openjdk ...
- tomcat启动报错 ERROR o.a.catalina.session.StandardManager 182 - Exception loading sessions from persiste
系统:centos6.5 x86_64 jdk: 1.8.0_102 tomcat:8.0.37 tomcat 启动报错: ERROR o.a.catalina.session.StandardMan ...
- (转)Eclipse4.2 Tomcat启动报错 A child container failed during start
Eclipse4.2 Tomcat启动报错 A child container failed during start 2013-5-21 15:02:24 org.apache.catalina. ...
- Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误——SHH框架
SHH框架工程,Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误 1.查看配置文件web.xml中是否配置.or ...
- tomcat启动报错Several ports (8080, 8009) required by Tomcat v6.0
tomcat启动报错 如下图: 问题:8080.8009端口已经被占用. 解决办法: 1.在命令提示符下,输入netstat -aon | findstr 8080 2.继续输入taskkill -F ...
- tomcat启动报错
[toc]启动错误 does not exist or is not a readable directory 问题:tomcat启动报错:does not exist or is not a rea ...
- [转]tomcat启动报错too low setting for -Xss
tomcat启动报错too low setting for -Xss 网上给的答案都是调整Xss参数,其实不是正确的做法, -Xss:每个线程的Stack大小,“-Xss 15120” 这使得tomc ...
- Tomcat启动报错:[The configuration may be corrupt or incomplete]的解决方案
1,场景说明: 偶然碰见Tomcat启动报错,此时并没有Add任何Web项目: Could not load the Tomcat server configuration at /Servers/T ...
- Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address
Tomcat启动报错:StandardServer.await: create[8005] java.net.BindException: Cannot assign requested addres ...
随机推荐
- Bat批处理文件入门
这个东西吧,感觉在使用windows时作用不是很大,毕竟在windows环境下命令行确实用的比较少,但有时候也会用到,比如测试算法程序时使用批处理+文件可以省去每次手动输入.赶巧最近对批处理也比较感兴 ...
- 帝国cms所有一级栏目遍历,如果有子栏目的话,遍历出来
所有一级栏目遍历,如果有子栏目的话,遍历出来. 注意下方的bclassid是可以改变的.可以改成自己想要设置的父栏目id. 遍历所有栏目,如果有二级栏目的话显示 [e:loop={"sele ...
- Caffe中im2col的实现解析
这里,我是将Caffe中im2col的解析过程直接拉了出来,使用C++进行了输出,方便理解.代码如下: #include<iostream> using namespace std; bo ...
- Django 使用request获取浏览器发送的参数(Django编程-5)
1.url:需要正则去匹配 url(r'^index/(num)/$',view.index) 匹配到的参数会自动传入对应的视图函数 也可以给匹配到的参数起名字?P url(r'^index/(?P& ...
- v-bind:value="diy" 添加到 <input type="button" /> 中可以,添加到<button />中不可以,diy是data中的数据
v-bind:value="diy" 添加到 <input type="button" /> 中可以, 添加到<button />中不可 ...
- 为什么wamp 放两个网站 或者多个网站就很卡很慢,问题在这里
PHP的配置比较简单,只需要进行一些基本设置的修改就可以了,依次点击—PHP—php.ini,找到这三个地方:short_open_tag = Off(是否允许使用 PHP 代码开始标志的缩写形式(& ...
- 工具安装——linux下安装JDK1.8
1.查看Linux环境自带JDK 使用命令:# rpm -qa|grep gcj 显示内容其中包含相应信息# java-x.x.x-gcj-compat-x.x.x.x-xxjpp# java-x.x ...
- NFS 网络文件系统快速部署手册
NFS服务端部署配置 一.安装nfs-utils和rpcbind服务,安装完后检查 # yum install -y nfs-utils rpcbind # rpm -qa nfs-utils rpc ...
- 会了docker你又多了一个谈资(下)
上篇文章介绍了docker 基本使用及安装([跳转☞会了docker你又多了一个谈资(上)],这篇重点说明下docker使用技巧. 问题1怎么用docker搭建多台服务器? 只需要 docker ru ...
- zencart产品属性dropmenu select只有一个选择项时自动变成radio单选的解决办法
includes\modules\classic\attributes.php 在大约786行代码 case ($products_options->RecordCount() == 1): 的 ...