我应该在生产中使用哪个Tomcat原生库?

20

当我编译我的Spring MVC应用程序时,输出如下:

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;......

这里所指的生产环境究竟应该使用什么?

6个回答

14

Tomcat-native 是一种使用高度优化的 Apache Portable Runtime (APR) 框架的 Tomcat 版本,该框架也是驱动 Apache HTTP 服务器的相同框架。


8
好的,那么我需要翻译的内容是:"好的,那么我需要采取哪些步骤来解决问题,因为它说在路径中找不到XXX。" - bouncingHippo

6

我在网上找到了一篇帖子

如果您想忽略此消息,可以安全地这样做。基本上,它告诉您未找到可选的共享库(Windows上的dll)。 APR是Apache Portable Runtime的缩写。这是一个本地(非Java)库,可以在某些情况下提高Tomcat的性能。 在Windows和Unix / Linux上,您需要C编译器来构建此库。


5

3

我的情况是:看到了相同的 INFO 信息。

系统环境为 Centos 6.2 x86_64,Tomcat 版本为 8.0.14。

以下方法解决了我的问题:

使用 yum 命令安装 tomcat-native 组件。


2
为使APRWindows服务器上运行,需要进行以下步骤:
  • APR本地库安装到Tomcat的bin目录下(对于64位,请使用x64子文件夹中的tcnative文件)

  • 将Tomcat的bin文件夹添加到Windows的%path%路径中(这会将openssl加入您的路径)

附加说明:

APR连接器无法使用Java keystore,因为它期望以正常的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的APR连接器中的示例SSL 的示例 server.xml


1
我之前对Tomcat非常陌生,也遇到了同样的问题;我认为这是因为我没有正确地停止服务器。在Eclipse中,在“服务器”选项卡上,右键单击Tomcat并点击“清理”。重新启动服务器。这对我有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接