tomcat8.5.15 apr模式运行 配置
系统环境:centos6.5 jdk1.7+ tomcat8+
tomcat有3中运行模式,早期的是bio,阻塞式,后来出现nio非阻塞式,再后来又出现apr基于本地库的形式,性能依次提高。据说都是一大截一大截的。
下面用到的文件统一下载:啊(下面的链接时间久了会失效)
apr模式需要以来以下本地库的lib:
1. openssl > 1.0.2以上 (下面用1.1.0e) 下载
2. apr-xxxx.tar.gz (下面用1.5.2) 下载
3. apr-util-xxxx.tar.gz (下面用1.5.4) 下载
4. apr-iconv-xxx.tar.gz (下面用1.2.1) 下载
tomcat8.5.15: 下载
环境安装:
1. openssl默认的好像都是1.0.1e,需要升级。
下载好的openssl.tar.gz放到usr/local/下
//解压 编译安装
tar -xzvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e
./config --prefix=/usr/local/openssl
make && make install
//备份原来的mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak//建立软连接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
//设置到运行库echo "/usr/local/openssl/lib">>/etc/ld.so.conf
//查看设置状态ldconfig -v
openssl version -a
升级就成功了
2. 安装tomcat-native所需模块
tar -xzvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure
make & make install
接着安装apr-util和iconv,方法一样不过./configure --with-apr=/usr/local/apr指明一下apr安装位置就可以了,不写也会提示写上。
最后还要在/etc/profile里加上lib库
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
3. tomcat-native安装
cd tomcat解压目录/bin
tar -xzvf tomcat-native.tar.gz
cd tomcat-native-1.2.12-src/native/
./configure --with-apr=/usr/local/apr --with-java-home=$JAVA_HOME --with-ssl=/usr/local/openssl
等待完成(如果出错,等会下面写我遇到的错误)
make & make install
等待完成4. 配置server.xml
修改connector是8080那个就好,底下有个小栗子,把protocol复制过来就可以了
protocol="org.apache.coyote.http11.Http11NioProtocol",替换原来HTTP1.1那个
启动tomcat,如下表示成功:
5. 问题总结:
1. java.lang.UnsatisfiedLinkError: /usr/local/apr/lib/libtcnative-1.so.0.2.7: /usr/local/apr/lib/libtcnative-1.so.0.2.7: undefined symbol: BN_get_rfc3526_prime_8192
这个是openssl版本和tomcat对不上导致的,具体版本间对应关系得查找官网资料,我也是瞎摸的,一般编译tomcat-native时候会有检查,都通过了就是兼容的。
2. requires the APR/native library which is not available
这个是tomcat配置了apr模式运行,但是以来模块没到位。
3. make tomcat-native 'ERR_remove_thread_state' is deprecated
这个是我用tomcat8.0.36和openssl1.1.0e时候的错,死活tomcat-native编译都通不过,最后换成tomcat8.5.15就没问题了。估计是有一个版本低了。
4. checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk.x86_64//configure: error: You should retry --with-os-type=SUBDIR
在/tomcat-native-1.2.12-src/native/下./configure时,出现上面的问题,可能是因为安装的是jre不是jdk,他需要jni_md.h这个文件,在/usr/lib/jvm/java/include/linux/下面有,cp /usr/lib/jvm/java/include /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/重新执行configure即可。
下一篇: SQLSERVER存储过程基本语法
推荐阅读
-
apache下运行cgi模式的配置方法
-
Windows 配置Apache以便在浏览器中运行Python script的CGI模式
-
Tomcat安装与配置Native APR模式的教程
-
System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”
-
apache下运行cgi模式的配置方法
-
cpanel中的php运行方式使用fast-cgi模式的配置方法
-
cpanel中的php运行方式使用fast-cgi模式的配置方法
-
tomcat8.5.15 apr模式运行 配置
-
Tomcat安装与配置Native APR模式的教程
-
System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”