Tomcat的運(yùn)行模式有哪些?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供海城網(wǎng)站建設(shè)、海城做網(wǎng)站、海城網(wǎng)站設(shè)計(jì)、海城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、海城企業(yè)網(wǎng)站模板建站服務(wù),10余年海城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
tomcat的運(yùn)行模式有3種
一、bio(blocking I/O)
即阻塞式I/O操作,表示Tomcat使用的是傳統(tǒng)的Java I/O操作(即java.io包及其子包)。是基于JAVA的HTTP/1.1連接器,Tomcat7以下版本在默認(rèn)情況下是以bio模式運(yùn)行的。一般而言,bio模式是三種運(yùn)行模式中性能最低的一種。我們可以通過(guò)Tomcat Manager來(lái)查看服務(wù)器的當(dāng)前狀態(tài)。(Tomcat7 或以下,在 Linux 系統(tǒng)中默認(rèn)使用這種方式)
二、nio(new I/O)
是Java SE 1.4及后續(xù)版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個(gè)基于緩沖區(qū)、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的縮寫(xiě)。它擁有比傳統(tǒng)I/O操作(bio)更好的并發(fā)運(yùn)行性能。
想運(yùn)行在該模式下,直接修改server.xml里的Connector節(jié)點(diǎn),修改protocol為
protocol="org.apache.coyote.http11.Http11NioProtocol"
啟動(dòng)后,就可以生效。
利用 Java 的異步請(qǐng)求 IO 處理,可以通過(guò)少量的線程處理大量的請(qǐng)求
三、apr
安裝起來(lái)最困難,但是從操作系統(tǒng)級(jí)別來(lái)解決異步的IO問(wèn)題,大幅度的提高性能.
必須要安裝apr和native,直接啟動(dòng)就支持apr。下面的修改純屬多余,僅供大家擴(kuò)充知識(shí),但仍然需要安裝apr和native
如nio修改模式,修改protocol為org.apache.coyote.http11.Http11AprProtocol
官方對(duì)三種方式簡(jiǎn)單對(duì)比
Java Blocking Connector Java Non Blocking Connector APR/native Connector
BIO NIO APR
Classname Http11Protocol Http11NioProtocol Http11AprProtocol
Tomcat Version 3.x onwards 6.x onwards 5.5.x onwards
Support Polling NO YES YES
Polling Size N/A maxConnections maxConnections
Read HTTP Request Blocking Non Blocking Blocking
Read HTTP Body Blocking Sim Blocking Blocking
Write HTTP Response Blocking Sim Blocking Blocking
Wait for next Request Blocking Non Blocking Non Blocking
SSL Support Java SSL Java SSL OpenSSL
SSL Handshake Blocking Non blocking Blocking
Max Connections maxConnections maxConnections maxConnections
APR項(xiàng)目有APR,APR-util和APR-iconv,其中APR-iconv是可選安裝的。
下載最新的APR和APR-util源碼包
4、安裝APR
1)解壓apr-1.4.6:tar -zxf apr-1.4.6 2) cd apr-1.4.6 3)依次執(zhí)行./configure make sudo make install
在apr被安裝到了/usr/local/apr目錄下面
5、 安裝APR-util
1) 解壓apr-util-1.4.1:tar -zxfapr-util-1.4.1 2) cd apr-util-1.4.1 3) 依次執(zhí)行./configure–with-apr=/usr/local/apr/bin/apr-1-config (如果不加后面的可能會(huì)報(bào)APR找不到的錯(cuò)誤”checkingfor APR… no configure: error: APR could not be located. Please use the–with-apr option.” make sudo make install
apr-util也被安裝找/usr/local/apr下面
6、進(jìn)入tomcat主目錄下,在bin/tomcat-native-1.1.23-src/jni/native下面依次執(zhí)行:
./configure–with-apr=/usr/local/apr/bin/apr-1-config (如果不加后面的可能會(huì)報(bào)APR找不到的錯(cuò)誤”checkingfor APR… no configure: error: APR could not be located. Please use the–with-apr option.” make sudo make install
7、 設(shè)置啟動(dòng)參數(shù):
在catalina.sh 加入啟動(dòng)參數(shù):
CATALINA_OPTS=”$CATALINA_OPTS-Djava.library.path=/usr/local/apr/lib”
看完上述內(nèi)容,你們掌握Tomcat的運(yùn)行模式有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!