共计 5639 个字符,预计需要花费 15 分钟才能阅读完成。
摘要:Apache 建议为 Tomcat 安装 apr 支持,但是下载的 apache-tomcat-<version>.tar.gz 版本并不会安装好 apr,需要单独编译安装,本文就介绍如何安装 apr 支持。
目录
0、前提
1、下载准备
2、对 apr 的安装
3、安装 apr-util
4、安装 tomcat-native
5、整体检查安装情况
6、安装之后的配置
7、成果检测
8、后记
在安装并配置好 JDK 和 tomcat 之后,就可以提供 web 的访问支持了,但是在启动的信息里面,会有相关的提示,说的意思就是要求你安装 apr 支持,而安装 apr 支持需要使用源代码一步一步来。
下面就请跟着我,使用源代码方式安装 apr 支持。
0、前提
①请安装并配置好 JDK 和 tomcat,并且创建链接文件,使得
/usr/java/jdk
相当于 JDK 的根目录
/usr/local/tomcat
相当于 tomcat 的根目录。
② 已经安装好了 openssl 的开发包,不管是源代码方式安装还是使用包管理器方式安装,使用包管理器可以这样安装
yum install openssl-devel
1、下载准备
为了安装 apr 支持,需要下载 apr-<version>.tar.gz 和 apr-util-<version>.tar.gz,当前的最新版本是 apr-1.5.2.tar.gz 和 apr-util-1.5.4.tar.gz,这也就是我次次要安装的版本。
下载地址,使用阿里云的镜像,访问速度挺快的,或者你也可以使用其他的镜像
http://http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.gz
http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.gz
或者可以访问 Apache 官方的下载站点,但是不推荐,因为那样会加大服务器负担,Apache 也反复强调不要从他们那里直接下载,(其实从镜像站点下载是一样的,而且速度还更快)
http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
下载得到这两个文件之后,上传到系统的
/usr/local/src
目录中,为接下来的编译安装做准备。
2、对 apr 的安装
解压 apr-1.5.2.tar.gz,得到文件夹 apr-1.5.2,进入到文件夹之中,执行下面的命令
./configure
make
make install
本来可以指定安装的位置,但是我这里按照默认的来,如果要制定安装位置,请参考文件夹内的“README”文件,里面有描述的。同时,如果重新指定了安装位置,那么后面所说的位置都要随之改变。
默认安装到的位置是 /usr/local/apr,可以去查看文件系统之中是否有这个目录,以及目录中文件的修改日期等等,确认这次安装时成功了的。
也可以根据每一步执行命令的输出来判断成功没有,若有问题的话,要及时解决,在进行后续操作。
3、安装 apr-util
解压缩 apr-util-1.5.4.tar.gz,得到文件夹 apr-util-1.5.4,进入到文件夹内,依次执行
./configure –with-apr=/usr/local/apr
make
make install
这里配置的时候指定的目录就是之前安装的 apr 的目录,如果之前修改了默认路径的,这里也要对应修改。
这次安装或安装到 apr 路径下的 lib 目录内,也就是
/usr/local/apr/lib
可以进入目录查看文件信息,确认是否成功。也可以根据每一步执行命令的输出来判断成功没有,若有问题的话,要及时解决,在进行后续操作。
4、安装 tomcat-native
tomcat-native?是什么?前面没有叫下载啊?
确实,我刚开始在网上搜索的时候也是很困惑的,可是有一个人说了,“就在下载的 tomcat 的 bin 目录下面”,我去看了一下,果然有!!
将我们安装好的 tomcat 的 bin 目录下的 tomcat-native.tar.gz 文件复制到
/usr/local/src
中,并且解压缩,得到目录 tomcat-native-<version>-src,在这个目录中有相关的说明,告诉我们如何构建。
进入到目录中的
jni/native
目录内,这个目录内的文件就是我们需要的文件,依次执行下面的命令
./configure –with-apr=/usr/local/apr –with-java-home=/usr/java/jdk
make
make install
在这里,apr 的目录要使用前面安装 apr 的时候的目录,如果修改了的话,还请对应修改,java 的目录要使用 jdk 的根目录,如果不是这个也请修改。
执行上面的命令之后,会在目录
/usr/local/apr/lib
中生成对应的文件,可以查看文件,确认安装成功。也可以根据每一步执行命令的输出来判断成功没有,若有问题的话,要及时解决,在进行后续操作。
5、整体检查安装情况
安装成功与否,就看安装的目录就行啦,下面的命令的输出应该是类似的,出国有较大出入的话,请仔细检查
[root@CooVox-U100 apr]# pwd
/usr/local/apr
[root@CooVox-U100 apr]# ls -l
total 16
drwxr-xr-x 2 root root 4096 May 22 10:51 bin
drwxr-xr-x 2 root root 4096 May 22 10:47 build-1
drwxr-xr-x 3 root root 4096 May 22 10:47 include
drwxr-xr-x 3 root root 4096 May 22 11:44 lib
[root@CooVox-U100 apr]# cd lib/
[root@CooVox-U100 lib]# ls -l
total 5164
-rw-r–r– 1 root root 9278 May 22 10:47 apr.exp
-rw-r–r– 1 root root 5272 May 22 10:51 aprutil.exp
-rw-r–r– 1 root root 933930 May 22 10:47 libapr-1.a
-rwxr-xr-x 1 root root 972 May 22 10:47 libapr-1.la
lrwxrwxrwx 1 root root 17 May 22 10:47 libapr-1.so -> libapr-1.so.0.5.2
lrwxrwxrwx 1 root root 17 May 22 10:47 libapr-1.so.0 -> libapr-1.so.0.5.2
-rwxr-xr-x 1 root root 639267 May 22 10:47 libapr-1.so.0.5.2
-rw-r–r– 1 root root 565304 May 22 10:51 libaprutil-1.a
-rwxr-xr-x 1 root root 1070 May 22 10:51 libaprutil-1.la
lrwxrwxrwx 1 root root 21 May 22 10:51 libaprutil-1.so -> libaprutil-1.so.0.5.4
lrwxrwxrwx 1 root root 21 May 22 10:51 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
-rwxr-xr-x 1 root root 416002 May 22 10:51 libaprutil-1.so.0.5.4
-rw-r–r– 1 root root 372902 May 22 10:51 libexpat.a
-rwxr-xr-x 1 root root 928 May 22 10:51 libexpat.la
lrwxrwxrwx 1 root root 17 May 22 10:51 libexpat.so -> libexpat.so.0.5.0
lrwxrwxrwx 1 root root 17 May 22 10:51 libexpat.so.0 -> libexpat.so.0.5.0
-rwxr-xr-x 1 root root 329742 May 22 10:51 libexpat.so.0.5.0
-rw-r–r– 1 root root 1136746 May 22 11:44 libtcnative-1.a
-rwxr-xr-x 1 root root 1055 May 22 11:44 libtcnative-1.la
lrwxrwxrwx 1 root root 23 May 22 11:44 libtcnative-1.so -> libtcnative-1.so.0.1.33
lrwxrwxrwx 1 root root 23 May 22 11:44 libtcnative-1.so.0 -> libtcnative-1.so.0.1.33
-rwxr-xr-x 1 root root 794996 May 22 11:44 libtcnative-1.so.0.1.33
drwxr-xr-x 2 root root 4096 May 22 11:44 pkgconfig
6、安装之后的配置
安装之后还需要配置才能正正启用 apr。
修改文件
/etc/profile
找到文件结束部分,在
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC JAVA_HOME
的后面加入
#tomcat-apr
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
然后就可以保存文件了。
最后别忘了使这个配置生效,使用下面的命令(重启机器也可以)
source /etc/profile
7、成果检测
执行完上面的步骤之后,就算是安装完成了,但是到底有没有成功呢,下面就来验证一下。
先删除 tomcat 的所有运行记录,然后启动 tomcat,查看文件
catalina.out
仔细寻找这个文件,在中间部分,如果有类似于这样的输出
22-May-2015 11:46:11.393 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent
Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.2.
22-May-2015 11:46:11.393 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent
APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
22-May-2015 11:46:11.851 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL
OpenSSL successfully initialized (OpenSSL 0.9.8e-rhel5 01 Jul 2008)
就表示安装和配置都成功了;但如果是类似于这样的,(其实没有安装的时候就是这样的)
22-May-2015 14:05:57.427 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent
The APR based Apache Tomcat Native library which allows optimal performance in production
environments was not found on the java.library.path: :/usr/java/packages/lib/i386:/lib:/usr/lib
就表明没有成功。
8、后记
整个安装过程其实并不复杂,按照步骤一步一步来,很中规中矩,需要的就是一颗勇于尝试的心!!
据说那装了 apr 的 tomcat 可以提高性能,不知道是不是真的,而且看样子好像就可以支持 OpenSSL 了诶,以后有时间试一试!
enjoy!
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南 (第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 安装 APR 支持 Tomcat Native http://www.linuxidc.com/Linux/2014-10/108598.htm
Tomcat 的详细介绍 :请点这里
Tomcat 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-05/117887.htm