Tomcat APR 本机库

Tomcat APR 本机库

我有一台 Solaris 10 机器,我已在该机器上成功从源代码构建了 tomcat 本机库,其中包括 apr-1.5.2.tar.gz、openssl-1.0.2a.tar.gz 和 tomcat-native-1.1.33-src.tar.gz。然后我可以启动我的 tomcat 服务器并获取一系列日志记录语句,表明 Tomcat 服务器确实在使用本机库,如下所示。

2015 年 6 月 9 日下午 4:07:07 org.apache.catalina.core.AprLifecycleListener init 信息:使用 APR 版本 1.5.2 加载基于 APR 的 Apache Tomcat 本机库 1.1.33。

2015 年 6 月 9 日下午 4:07:08 org.apache.catalina.core.AprLifecycleListener init INFO:APR 功能:IPv6 [true]、sendfile [true]、接受过滤器 [false]、随机 [true]。

2015 年 6 月 9 日下午 4:07:09 org.apache.catalina.core.AprLifecycleListener initialiseSSL 信息:OpenSSL 已成功初始化,版本为 OpenSSL 1.0.2a 2015 年 3 月 19 日

2015 年 6 月 9 日下午 4:07:10 org.apache.coyote.http11.Http11AprProtocol 初始化

那么我的问题是什么?好吧,我现在必须在其他 11 个 Solaris 机器上部署 tomcat 本机库。我宁愿不再构建代码 11 次,因为这非常耗时。我不太懂 unix,所以也许有人可以解释为什么下面的方法不起作用。我只是将所有库从正在运行的 Solaris 机器复制到新 Solaris 机器上的一个文件夹中,保持权限相同,rwxr-xr-x,如下所示:

apr.exp                                    9,278 
libapr-1.a                               968,936 
libapr-1.la                                  976 
libapr-1.so                              641,972 
libapr-1.so.0                            641,972 
libapr-1.so.0.5.2                        641,972 
libcrypto.a                            3,152,616 
libssl.a                                 591,140 
libtcnative-1.a                        1,054,352 
libtcnative-1.la                           1,206 
libtcnative-1.lai                          1,177 
libtcnative-1.so                         922,176 
libtcnative-1.so.0                       922,176 
libtcnative-1.so.0.1.33                  922,176 

在新的 Solaris 机器上,我编辑了 tomcat/bin.setenv.sh 文件,并将 java.library.path 系统属性设置为指向该文件夹,就像我在最初构建库的 Solaris 机器上所做的那样,并且 tomcat 正确加载并使用了本机库。

但是,当我在新机器上启动 tomcat 服务器(我刚刚复制了库)时,tomcat 说它找不到库,如日志消息所示:

NFO:在 java.library.path: /opt/pdm/web/tomcat/native/1.1.33 上未找到可在生产环境中实现最佳性能的基于 APR 的 Apache Tomcat Native 库。

我还需要做其他什么吗?我遗漏了一些额外的库?或者这在 Unix 上是不可能的,我必须在每个 Solaris 机器上从头构建库?

任何帮助将不胜感激。

相关内容