伺服器tomcat配置優化–apr安裝
我是一個小白,第一次寫部落格,記錄一下自己的成長軌迹,如有問題還請多多指教!謝謝!
公司的正式線上的伺服器中,最近項目通路經常出現伺服器或網絡異常,檢視日志發現JVM記憶體GC報錯,懷疑是有項目記憶體占用過高導緻,因為伺服器最近使用的比較多,裡面有公司的多個項目都準備傳遞,于是上級叫我調整一下線上環境.(主要是被客戶罵了).
我在網上查了下資料,說Tomcat 的預設配置是不能穩定長期運作的,也就是不适合生産環境,它會當機,讓你不斷重新啟動.
剛好公司的伺服器就是這樣經常要重新開機的狀态,是以我初步判斷我們公司正式線上的tomcat應該是使用的原來的預設配置,
網上說tomcat調優主要分為
1.系統優化
2.tomcat本身優化
3.jvm優化
而我這次主要針對的是tomcat本身的優化,而tomcat本身的優化項并不多主要是一些參數的配置,也就是server.xml配置檔案的優化,和一個tomcat連接配接器的配置優化.
tomcat 有三種連接配接器方式,bio,nio,apr, apr的性能是最好的,tomcat7之後的Connector預設是使用的Apr協定,但需要系統安裝Apr庫.
== 公司伺服器上 tomcat版本是 8.5 Linux 版本是 CentOS 6.3 64位==
安裝apr來提高tomcat 的可伸縮性和性能
下載下傳 apr 和 apr-util最新版
wget http://mirror.bit.edu.cn/apache/apr/apr-1.7.0.tar.gz
wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
檔案解壓
tar -zxvf apr-1.7.0.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
安裝
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install
cd /usr/local/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/loca/apr
make && make install
安裝tomcat-native
cd /usr/loca/tomcat/bin
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.17-src/native
./configure --with-apr=/usr/local/apr --with-java-home=/usr/loca/jdk
make && make install
設定apr的環境變量
vi /etc/profile
#在末尾添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
#使配置生效
source /etc/profile
啟動tomcat
./startup.sh
tail -f ../logs/catalina.out
# 修改Connector使用的協定(server.xml)
<Connector port="80" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />
# 企業apr生命周期監聽器(不使用SSL)
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
出現:
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.17] using APR version [1.7.0].
中間出現了不少的因為環境缺失導緻的無法繼續安裝的問題 我這裡簡單記錄下
apr-util 安裝出錯:expat.h:沒有那個檔案或目錄
yum install expat-devel
安裝tomcat-native的時候提示openssl版本過低無法安裝
error: Your version of OpenSSL is not compatible with this version of tcnative
#檢視openssl版本資訊
openssl version -a
#下載下傳openssl最新的壓縮包
wget http://openssl.org/source/openssl-1.1.0k.tar.gz --no-check-certificate
解壓後配置
./configure --prefix=/usr/local/openssl -t
因為openssl下載下傳後需要把原來的版本替換掉,是以 要替換/usr/bin/openssl /usr/include/openssl 這兩個位置的檔案
使用下載下傳的 /usr/local/openssl/bin/openssl /usr/local/openssl/include/openssl 的軟連接配接替換
修改系統自帶的openssl庫檔案 如 /usr/lib64/libssl.so (根據機器環境而定) 同樣使用新下載下傳的/usr/local/openssl/lib/libssl.so 軟鍊替換 軟連接配接建立(ln -s 源檔案 位置)
在/etc/ld.so.conf檔案中寫入openssl庫檔案的搜尋路徑
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
使修改後的/etc/ld.so.conf生效
tomcat 配置參考
Apache 官方網址
Linux安裝Apr