1.問題
啟動Tomcat之后,在瀏覽器輸入IP后顯示503,查看catalina.log發現報錯:
2.問題定位:缺少 tomcat-native library
就是說 缺少Tomcat Native librayr的支持, 因此需要安裝 Tomcat Native library。
安裝參考 Tomcat-APR/tomcat-native-1.2.23-src源碼安裝和配置 和 The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path
當然二者都是參考官網 來安裝 tomcat-native庫:
3.安裝tomcat-native 步驟
安裝環境:
- Linux版本:CentOS Linux release 7.9.2009
- apache-tomcat-9.0.41
- openjdk version "1.8.0_292"
3.1 確認gcc、apr、apr-devel、apr-util 以及 JDK是否已經安裝過,沒有就需要安裝
# 1.確認 gcc, 若已安裝就會顯示安裝的版本
rpm -qa gcc
# gcc-4.8.5-28.el7_5.1.x86_64
#沒有就安裝
yum install gcc
# 2.確認 apr, 沒有就 yum install gcc
rpm -qa apr
# 3.確認 apr-devel,沒有就 yum install apr-devel
rpm -qa apr-devel
# 4.確認 apr-util, 沒有就 yum install apr-util
rpm -qa apr-util
# 5. 確認 JDK,沒有就 yum install -y java-1.8.0-openjdk
which java
java -version
3.2. 源碼安裝tomcat-native-1.2.23
下載地址:官網
下載到 /opt
目錄下,tar zxvf tomcat-native-1.2.23-src.tar.gz
解壓 ,進入 tomcat-native-1.2.23-src/native
,然后參考官方給的模板執行:
./configure --with-apr=/usr/bin/apr-1-config \
--with-java-home=/home/jfclere/JAVA/jdk1.7.0_80/ \
--with-ssl=yes \
--prefix=$CATALINA_HOME
- --with-java-home:jdk的安裝目錄,筆者是
yum install -y java-1.8.0-openjdk
安裝的,因此是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
; - --prefix:Tomcat安裝目錄
## 筆者的命令
./configure --with-apr=/usr/bin/apr-1-config \
--with-java-home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 \
--with-ssl=yes \
--prefix=/usr/local/apache-tomcat-9.0.41
然后 編譯安裝 make && make install
成功后會看到如下的內容:
Libraries have been installed in:
/usr/local/apache-tomcat-9.0.41/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
即庫已經安裝到之前 --prefix
指定目錄下的 lib子目錄中,同時還需要以下操作:
修改 /usr/local/apache-tomcat-9.0.41/bin/catalina.sh
,在 文件末尾添加
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apache-tomcat-9.0.41/lib
export LD_LIBRARY_PATH
再在 /usr/local/apache-tomcat-9.0.41/conf/server.xml
配置 Tomcat Connector,將 protocol修改成如下內容:
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
重啟Tomcat服務器 問題就解決了