日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下配置tomcat+apr+native应对高并发

發布時間:2024/4/17 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下配置tomcat+apr+native应对高并发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、三種運行模式介紹

Tomcat 有三種(bio,nio.apr) 運行模式,首先來簡單介紹下

bio?
bio(blocking I/O),顧名思義,即阻塞式I/O操作,表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。Tomcat在默認情況下,就是以bio模式運行的。遺憾的是,就一般而言,bio模式是三種運行模式中性能最低的一種。我們可以通過Tomcat Manager來查看服務器的當前狀態。

nio?
是Java SE?1.4及后續版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個基于緩沖區、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的縮寫。它擁有比傳統I/O操作(bio)更好的并發運行性能。

想運行在該模式下,直接修改server.xml里的Connector節點,修改protocol為?

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

apr?
(Apache Portable Runtime/Apache可移植運行庫),是Apache HTTP服務器的支持庫。你可以簡單地理解為,Tomcat將以JNI的形式調用Apache HTTP服務器的核心動態鏈接庫來處理文件讀取或網絡傳輸操作,從而大大地提高Tomcat對靜態文件的處理性能。 Tomcat apr也是在Tomcat上運行高并發應用的首選模式。

要tomcat支持apr,必須要安裝apr和native,這樣tomcat可以利用apache的apr接口,使用操作系統的部分本地操作,從而提升性能。

Tomcat的運行模式有3種.修改他們的運行模式.3種模式的運行是否成功,可以看他的啟動控制臺,或者啟動日志.或者登錄他們的默認頁面http://localhost:8080/查看其中的服務器狀態。?

接下來介紹linux下tomcat+apr+native配置

?

二、linux下配置tomcat+apr+native

2.1 安裝包準備

jdk-7u76-linux-x64.tar.gz(必須JDK1.7以上才支持apr)

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

apache-tomcat-7.0.56.tar.gz(解壓之后其bin目錄下包含tomcat-native的安裝包)

2.2 安裝JDK

這是運行Tomcat的首要環境,所以這一步最先執行。

2.2.1 解壓

tar -zxvf jdk-7u76-linux-x64.tar.gz

2.2.2 創建/usr/local/java文件夾

mkdir -p /usr/local/java

2.2.3 移動到/usr/local/java

mv jdk1.7.0_76 /usr/local/java

2.2.4 添加環境變量

vi /etc/profile

再最后添加上

#jdk1.7export JAVA_HOME=/usr/local/java/jdk1.7.0_76
export CLASSPATH=$JAVA_HOME/lib/export PATH=/usr/local/ruby/bin:$PATH:$JAVA_HOME/bin

2.2.5 重啟環境變量,使配置生效

source /etc/profile

查看是否生效

?  出現以下字樣則表示安裝成功,接下來安裝tomcat

2.3 安裝tomcat

2.3.1 解壓tomcat

tar -zxvf apache-tomcat-7.0.56.tar.gz

2.3.2 改名為tomcat7

mv apache-tomcat-7.0.56 tomcat7

2.3.3 修改tomcat內存(jvm內存)

我這里tomcat是放在/home目錄下

vi /home/tomcat7/bin/catalina.sh

在里面添加

JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=512M -XX:MaxNewSize=512M -XX:MaxPermSize=512M"

  2.3.4 修改運行模式

vi /home/tomcat7/conf/server.xml

添加上

<!-- 配置apr -->
? ?<Connector executor="tomcatThreadPool"
? ? ? ? ? ? ? port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
? ? ? ? ? ? ? URIEncoding="UTF-8" enableLookups="false" acceptCount="50"
? ? ? ? ? ? ? connectionTimeout="1000" maxKeepAliveRequests="250"
? ? ? ? ? ? ? redirectPort="8443" />

下面貼出一個server.xml完整的配置

<?xml version='1.0' encoding='utf-8'?><Server port="9016" shutdown="SHUTDOWN">

?<!--關閉https安全驗證 -->
?<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
?<Listener className="org.apache.catalina.core.JasperListener" />

?<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
?<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
?<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />


?<GlobalNamingResources>
? ?<Resource name="UserDatabase" auth="Container"
? ? ? ? ? ? ?type="org.apache.catalina.UserDatabase"
? ? ? ? ? ? ?description="User database that can be updated and saved"
? ? ? ? ? ? ?factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
? ? ? ? ? ? ?pathname="conf/tomcat-users.xml" />
?</GlobalNamingResources>

?<Service name="Catalina">

? ?<!--The connectors can use a shared executor, you can define one or more named thread pools-->
? ?<!-- 配置線程 -->
? ?<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
? ? ? ?maxThreads="500" minSpareThreads="25"
? ? ? ?maxIdleTime="4000"
? ? ? ?/>

? ?<!-- 配置apr -->
? ?<Connector executor="tomcatThreadPool"
? ? ? ? ? ? ? port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
? ? ? ? ? ? ? URIEncoding="UTF-8" enableLookups="false" acceptCount="50"
? ? ? ? ? ? ? connectionTimeout="1000" maxKeepAliveRequests="250"
? ? ? ? ? ? ? redirectPort="8443" />
? ?

? ?<Connector port="9109" protocol="AJP/1.3" redirectPort="8443" />


? ?<Engine name="Catalina" defaultHost="localhost">

? ? ?<Realm className="org.apache.catalina.realm.LockOutRealm">

? ? ? ?<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
? ? ? ? ? ? ? resourceName="UserDatabase"/>
? ? ?</Realm>

? ? ?<Host name="localhost" ?appBase="webapps"
? ? ? ? ? ?unpackWARs="true" autoDeploy="true">

? ? ? ? <!-- 配置訪問日志格式 -->
? ? ? ?<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
? ? ? ? ? ? ? prefix="localhost_access_log." suffix=".txt"
? ? ? ? ? ? ? pattern="%h %l %u %t &quot;%r&quot; %s %b" />

? ? ?</Host>
? ?</Engine>
?</Service></Server>

2.4 安裝tomcat-native

2.4.1 進入到/home/tomcat7/bin/

cd /home/tomcat7/bin

2.4.2 解壓tomcat-native.tar.gz

tar -zxvf tomcat-native.tar.gz

2.4.3 進入到解壓后的目錄

cd tomcat-native-1.1.31-src/jni/native

2.4.4 檢測、編譯、安裝

./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/local/java/jdk1.7.0_76 && make && make install

2.5 安裝apr

  需要安裝apr-1.5.2.tar.gz和apr-util-1.5.4.tar.gz

2.5.1 解壓apr-1.5.2.tar.gz和apr-util-1.5.4.tar.gz

tar -zxvf apr-1.5.2.tar.gztar -zxvf apr-util-1.5.4.tar.gz

2.5.2?檢測、編譯、安裝

進入到apr-1.5.2,執行

./configure --prefix=/usr/local/apr && make && make install

進入到apr-util-1.5.4,執行

./configure --with-apr=/usr/local/apr/ --prefix=/usr/local/apr-utils && make && make install

2.6 修改最大文件句柄數和打開文件的數目

  由于打開文件會比較多,所以要考慮修改默認打開文件數目

2.6.1 修改/etc/sysctl.conf

net.ipv4.ip_local_port_range = 10240 65535net.ipv4.ip_nonlocal_bind = 1

2.6.2 在/etc/security/limits.conf最后增加如下兩行記錄? ? ? ? ?

* soft nofile 65535
* hard nofile 65535

?2.6.3 加載bridge模塊

modprobe bridge

?2.6.4 重新載入sysctl,使其改變生效

sysctl -p

2.6.5 再退出重新登陸,用ulimit -a查看

可以看到open files已經由默認的1024變成了65535

2.7 啟動tomcat

/home/tomcat7/bin/startup.sh

出現以下提示則表示配置成功

?

三、出錯情況處理

 ?3.1、啟動tomcat時報“The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/apr/lib”

? ? ? ? ?解決方案:確保tomcat-native安裝成功,否則執行上面2.5,如果依舊不成功,請執行下面步驟

? ? ? ? ? ? #vi /opt/tomcat_api_8035/bin/catalina.sh

? ? ? ? ? ? CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"

? ???3.2、安裝apr時報‘Neither the JAVA_HOME nor the JRE_HOME environment variable is defined“

? ? ? ? ?解決方案:這是未設置環境JAVA_HOME與JAVA_JRE目錄,請確保安裝jdk成功,確認/etc/profile環境變量配置正確

? ? ?3.3、在執行sysctl -p的時候發現輸出出現以下錯誤

? ? ? ??net.ipv4.ip_forward = 0?

? ? ? ? net.ipv4.conf.default.rp_filter = 1?

? ? ? ? net.ipv4.conf.default.accept_source_route = 0?

? ? ? ? kernel.sysrq = 0?

? ? ? ? kernel.core_uses_pid = 1?

? ? ? ? net.ipv4.tcp_syncookies = 1?

? ? ? ? error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key?

? ? ? ? error: "net.bridge.bridge-nf-call-iptables" is an unknown key?

? ? ? ? error: "net.bridge.bridge-nf-call-arptables" is an unknown key?

? ? ? ? kernel.msgmnb = 65536?

? ? ? ? kernel.msgmax = 65536?

? ? ? ? kernel.shmmax = 68719476736?

? ? ? ? kernel.shmall = 4294967296


轉載于:https://blog.51cto.com/13013670/1944025

總結

以上是生活随笔為你收集整理的Linux下配置tomcat+apr+native应对高并发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久精品性爱视频 | 亚洲精品喷潮一区二区三区 | 亚洲两性视频 | 日韩专区在线 | 国产精品美女高潮无套 | 人妻在卧室被老板疯狂进入 | 草草地址线路①屁屁影院成人 | 亚洲人色| 国产视频污在线观看 | 快播av在线| 69av导航 | 毛片视频观看 | 国产淫视| 精品无码国产污污污在线观看 | 91av网址| 曰批女人视频在线观看 | 免费在线黄色网址 | 成人福利午夜 | 中文字幕久久久久 | 久久av一区二区三 | www.色欧美 | 国产精品麻豆一区 | 成年人在线播放 | 一区二区久久精品66国产精品 | 国产亚洲色婷婷久久99精品91 | 国产三级日本三级在线播放 | 午夜av一区二区 | 中国第一毛片 | 人妻少妇被粗大爽9797pw | 美女久久久久久久久 | 国产二区在线播放 | 免费视频污 | 日本污视频在线观看 | 天堂资源中文 | av毛片在线免费看 | 精品福利一区 | 在线免费观看视频a | 干干干操操操 | 国产5区| 国产a国产片国产 | 狠狠操人人干 | www.成人免费视频 | 黄片毛片在线观看 | 久插视频| 99热免费观看 | 夜夜操狠狠操 | 国产精品久久久一区二区三区 | 黄色大片国产 | 亚洲精品资源在线 | 秋霞免费av | 国产一区二区三区四区五区美女 | 欧美特黄一级 | 国产粉嫩一区二区三区 | 国产天堂在线 | 三级黄色视屏 | 伊人网综合在线 | 精品国产乱码一区二区 | 男ji大巴进入女人的视频 | 国产乱子伦精品无码码专区 | 国产天堂精品 | 一区二区xxx | 天美视频在线观看 | av在线不卡免费观看 | 天堂a在线| 国产chinasex对白videos麻豆 | 国产欧美一区二区三区在线老狼 | av在线电影观看 | 性做久久久久久免费观看 | 中国性xxx| 久久久丁香 | 看污片网站 | 青娱乐国产在线 | 91麻豆视频在线观看 | 国内精品999 | 国产在线国偷精品免费看 | 漂亮人妻被中出中文字幕 | 亚洲中文无码久久 | 久久av导航| 国产日韩在线一区 | 夜夜看 | 国产69精品麻豆 | 欧美韩一区| 国产肉体xxxx裸体784大胆 | 欧美成人黄色片 | 91免费.| 国产日韩片 | 手机av免费看 | 免费av在线网 | 高清国产一区二区三区 | 欧美youjizz| 国产一区二区网址 | 一二三区在线 | 夜夜狠狠擅视频 | 久久97精品久久久久久久不卡 | 97爱爱爱 | 亚洲视频中文字幕在线观看 | 麻豆视频在线观看免费网站 | 色婷婷a | 亚州av片|