為Linux上的Tomcat安裝apr支持

nwbg 9年前發布 | 17K 次閱讀 Linux Tomcat 應用服務器

Apache建議為tomcat安裝apr支持,但是下載的apache-tomcat-<version>.tar.gz版本并不會安裝好apr,需要單獨編譯安裝,本文就介紹如何安裝apr支持。

        在安裝并配置好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!

來自:http://my.oschina.net/songxinqiang/blog/418794

 本文由用戶 nwbg 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!