CentOS 6.5上的Tomcat啟動報錯問題解決方案_Linux

來源:互聯網
上載者:User

這裡有兩個錯誤:

1、第一個錯誤,APR的問題,錯誤詳情:

The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

2、第二個錯誤,錯誤詳情:

Exception in thread "main" java.lang.InternalError
        at sun.security.ec.SunEC.initialize(Native Method)
        at sun.security.ec.SunEC.access$000(SunEC.java:49)
        at sun.security.ec.SunEC$1.run(SunEC.java:61)

 
第一個問題的解決方案:

這是一個APR的問題,因為Tomcat需要依賴APR來最佳化效能,就需要安裝APR

1、首先安裝APR,採用源碼安裝的方式,預設安裝在:/usr/local/apr

複製代碼 代碼如下:

wget    http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure
make
make install

2、接下來安裝Tomcat-native,這個gz包在Tomcat的bin目錄下面已經存在了,直接解壓tomcat-native;

進入目錄:cd   tomcat-native-1.2.7-src/native,然後編譯安裝:

./configure --with-apr=/usr/local/apr  --with-java-home="/usr/lib/jvm/java-1.7.0" --with-ssl=yes

如果下載的Tomcat版本較新的話,編譯安裝會出現OpenSSL版本不一致的問題,無法安裝,如下錯誤:

checking OpenSSL library version >= 1.0.2... configure: error: Your version of OpenSSL is not compatible with this version of tcnative

這事就需要下載一個版本低一點的Tomcat-native包:

wget    http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz

上面的gz包下載下來之後,放到Tomcat的bin目錄下去,解壓,進入目錄:cd  tomcat-native-1.1.20-src/jni/native,再編譯安裝

3、編譯安裝成功之後,在Tomcat的bin目錄下,建立一個名為setenv.sh的檔案

建立檔案中加入內容:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
         export LD_LIBRARY_PATH
4、經過上述三步,第一個問退可以解決;

第二個問題解決方案:

這是因為JDK的版本而產生的問題,我裝的是OpenJDK,會出現JAR包的缺失,導致啟動報錯,所以這裡需要更換為Oracle官方給出的JDK

1、去Oracle官方下載一個這樣的包:jdk-7u79-linux-x64.tar.gz

2、解壓之後,移動到/usr/local/java目錄下

3、添加環境變數:vim   /etc/profile,檔案最後添加下面幾行

複製代碼 代碼如下:

export JAVA_HOME=/usr/local/java/jdk1.7.0_79   //實際的JDK路徑
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

4、完成上述安裝之後,再啟動Tomcat,發現還會報錯:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

這個問題是因為Tomcat沒有識別出JDK的環境變數

5、修改Tomcat中bin目錄的catalina.sh檔案,在檔案的開頭,加入下面代碼:

複製代碼 代碼如下:

export JAVA_HOME=/usr/local/java/jdk1.7.0_79  ////實際的JDK路徑
export JRE_HOME=/usr/local/java/jdk1.7.0_79/jre

最後啟動Tomcat,日誌列印正常,瀏覽器也能夠訪問,問題解決

Exception in thread "main" java.lang.InternalError
        at sun.security.ec.SunEC.initialize(Native Method)
        at sun.security.ec.SunEC.access$000(SunEC.java:49)
        at sun.security.ec.SunEC$1.run(SunEC.java:61)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.