我应该在生产中使用什么tomcat本机库?
当我编译我的spring mvc app时,我在输出中得到了这个:
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;......
我究竟应该在生产中使用这个指的是什么?
Tomcat-native是Tomcat的一个版本,它使用高度优化的Apache Portable Runtime(APR),这是为Apache HTTP服务器提供支持的相同框架。
看一下这个讲话, http://www.infoq.com/presentations/Tuning-Tomcat-Mark-Thomas ,其中一位Tomcat开发人员讨论如何调整Tomcat – 包括哪些连接器(如NIO或APr)考虑。 您获得的有关APR的消息是指Tomcat Native
我发现了一个post :
如果需要,您可以放心地忽略此消息。 基本上它告诉你找不到可选的共享库(Windows上的DLL)。 APR是Apache Portable Runtime。 这是一个本机(非Java)库,可以在某些情况下提高Tomcat的性能。 在Windows和Unix / Linux上,您将需要一个C编译器来构建此库。
我的情况:看到相同的INFO消息。
Centos 6.2 x86_64 Tomcat 8.0.14
这解决了我的问题:
yum安装tomcat-native
我对Tomcat很新,面临同样的问题; 我想是因为我没有正确停止服务器。
在Eclipse中,在“服务器”选项卡上,右键单击“Tomcat”,然后单击“清除”。 重启服务器。 它对我有用。
要让APR
在Windows服务器上运行 :
-
将APR本机库安装到Tomcat
bin
目录中(对于64 bit
使用x64
子文件夹中的tcnative
文件) -
将Tomcat
bin
文件夹添加到Windows%path%
(这会将openssl
添加到您的路径中)
补充说明:
您不能将Java keystore
与APR
连接器一起使用,因为它需要使用普通Apache格式的证书。 要转换我使用的pfx
证书:
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts
然后,您将能够使用Tomcat的server.xml
的APR
连接器取消注释/启用示例SSL