mac下tomcat启用APR模式

前言

配置完SSL,我其实还是希望通过wireshark分析一下SSL握手协议,APR模式其实是想用来尝试下能否实现握手协议的,毕竟加入了openssl。事实证明,并没有相关干系,但毕竟折腾了挺久的,还是稍作记录下=。=

BIO NIO APR模式的比较

BIO:采用Java IO技术,单线程处理单请求(Tomcat7以下默认)
NIO:采用Java NIO技术,少量线程处理大量请求(Tomcat8以上默认)
APR:采用Jni技术,从操作层面解决io阻塞问题,适合高并发场景
处理请求方面:BIO

配置环境

系统:OSX10.11.4 64位
Xcode版本: 7.3.1
tomcat版本:8.0.33
jdk版本:1.8.0_77

相关文件准备

1.APR library
2.OpenSSL libraries
3.Java SE Development Kit (JDK)
下载dmg的格式直接安装即可
4.tomcat native

apr安装

解压apr包,注意留意README文档,里面有相关的信息
默认安装目录在 /usr/local/apr
安装的时候注意使用管理员权限,sudo command ~

cd apr
./configure
make
make install

openssl安装

解压openssl包,注意INSTALL文档
默认安装目录为 /usr/local/ssl
安装的时候,如果是64位的机子,配置文件需要使用

./Configure darwin64-x86_64-cc

自动配置则使用

./config

编译安装:

make
make install

tomcat-native安装

解压之后,在/tomcat-native/native/里有BUIDING文档

./configure --with-apr=/usr/local/apr
            --with-ssl=/usr/local/ssl
            --with-java-home=${JAVA_HOME}

JAVA_HOME需要给出jdk的安装目录

make
make install

生成成功后,会在/usr/local/apr/lib下有libtcnative-1.0.dylib的库文件,这个就是tomcat启动的依赖库,需要把该文件软链接到警告中提到的任一目录内。

ln -s /usr/local/apr/lib/libtcnative-1.dylib /Library/Java/Extensions/

注意这里并不是直接链接源文件,而是链接源文件的软链接
ln命令的介绍

tomcat server.xml配置

1.开启APR监听

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

2.配置APR Connectors

<Connector port="443" maxHttpHeaderSize="8192"
             maxThreads="150"
             enableLookups="false" disableUploadTimeout="true"
             acceptCount="100" scheme="https" secure="true"
             SSLEnabled="true"
             SSLCertificateFile="${服务器签名好的证书.crt}"
         SSLCertificateKeyFile="${服务器的密钥.pem}" />

参考:http://tomcat.apache.org/tomcat-8.0-doc/apr.html

问题

1.UnsatisfiedLinkError

Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/wangtao/work/apache-tomcat/tcnative/trunk/native/.libs/libtcnative-1.0.dylib:dlopen(/Users/wangtao/work/apache-tomcat/tcnative/trunk/native/.libs/libtcnative-1.0.dylib,1): Symbol not found: _OCSP_RESPONSE_new

这个是因为openssl未完全编译引起的,主要是64bit系统没有按照64bit编译的方式执行,编译前应该执行下面操作

./Configure darwin64-x86_64-cc

参考:https://qnalist.com/questions/6290333/tomcat-native-1-2-2

2.配置tomcat-native没有头文件

fatal error: stdio.h: No such file or directory

原因:安装Xcode的时候没有安装命令行操作工具
解决方案:
xcode-select –install

参考:http://stackoverflow.com/questions/19580758/gcc-fatal-error-stdio-h-no-such-file-or-directory

3.配置tomcat-native找不到gcc或者cc的路径

原因:查找的路径不是默认的路径
解决方案:

ln -s 你的gcc或者cc安装目录/usr 报错信息的目录

总结

配置环境其实还是蛮好玩的,好好看看官方文档,然后自己摸索摸索把环境搭好,内心还是灰常欣慰的哈~
遇到问题的时候,尝试通过日志记录的信息,然后一步一步排除问题。对于每个指令,理解并知道其本质原理,上手起来其实都是很easy~恩,多动动手,linux多折腾折腾的确会很有意思呢~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值