tomcat8啓動失敗,vironments was not found on the java.library.path: /usr/local/apr/lib:/home/tomcat/lib

今天tomcat 從7升級到8之後,一直啓動不了,提示:

vironments was not found on the java.library.path: /usr/local/apr/lib:/home/tomcat/lib

找了很久原因,都沒找到,找了網上,基本上都是這樣的答案。

1.jdk和tomcat是否匹配

2.是否項目有問題

3.是否tomcat 安裝有問題

但是排查了很久,都沒問題啊,tomcat是新裝的,感覺不會出現這種問題啊,於是重新安裝,還是這個問題。

我已經想死了。。。。。。

於是,我從其它服務器裏面下載個server.xml,發現

居然成功了!!!!!!!!


後來我對比了server.xml 終於找到問題啦,哈哈哈哈哈哈哈哈。

主要原因是

  我直接把原來tomcat7(舊)裏面的server.xml複製到了tomcat8(新)的conf目錄下。(建議後都不要亂複製東西,要仔細弄懂裏面的每個配置,認真臉!!)


舊的server.xml 裏面,是採用apr的方式
protocol="org.apache.coyote.http11.Http11AprProtocol"


而新的tomcat裏面server.xml是採用nio的方式
protocol="org.apache.coyote.http11.Http11NioProtocol"

因爲apr的方式必須要配置apr 和 native,而新tomcat8的server.xml配置裏面,沒有這兩個jar包,所以是啓動不成功的。

如要要用apr的方式,一定要先配置好native,否則就用nio的方式,直接即可

 <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
	connectionTimeout="20000" 
	URIEncoding="UTF-8" 
	useBodyEncodingForURI="true" 
	enableLookups="false" 
	redirectPort="8443" /> 


線上的服務器一般都是用apr配置方式,因爲能更好地提高性能和提高IO能力。


關於nio 和 apr 的區別,可參考
http://tomcat.apache.org/tomcat-8.0-doc/apr.html


http://love-love-l.blog.163.com/blog/static/21078304201311564236996/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章