Docker構(gòu)建Tomcat Web服務(wù)器及Tomcat性能優(yōu)化

2021-02-03    分類: 網(wǎng)站建設(shè)

Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對Servlet和JavaServer Page(JSP)的支持,Tomcat本身也是一個(gè)HTTP服務(wù)器,可以單獨(dú)使用,apache是一個(gè)以C語言編寫的HTTP服務(wù)器。Tomcat主要用來解析JSP語言。目前最新版本為9.0。

一、Tomcat安裝配置

安裝tomcat之前需要安裝jdk (Java Development Kit) 是 Java 語言的軟件開發(fā)工具包(SDK)),這里選擇JDK1.8.0_151

1)啟動(dòng)Centos容器

  1. [root@localhost ~]# docker run -itd -p 6022:22 -p 80:8080 centos6.8 /bin/bash  
  2. [root@localhost ~]# docker ps -l  

高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

2)進(jìn)入容器,安裝wget

  1. [root@localhost ~]# docker exec -it 709fd5453c25 /bin/bash 
  2. [root@709fd5453c25 /]# yum -y install wget 

高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

3)下載JDK軟件包

  1. [root@709fd5453c25 /]# wget jdk-8u151-linux-x64.tar.gz 
  2. [root@709fd5453c25 /]# tar zxf jdk-8u151-linux-x64.tar.gz 
  3. [root@709fd5453c25 /]# mv jdk1.8.0_151/ /usr/local/ 

高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

4)配置java環(huán)境變量,vim /etc/profile 添加如下語句:

  1. export JAVA_HOME=/usr/local/jdk1.8.0_151 
  2. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin 

高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

[root@709fd5453c25 /]# source /etc/profile //使環(huán)境變量立刻生效。

[root@709fd5453c25 /]# java -version //查看java版本,顯示版本為1.8.0_151,證明安裝成功。


高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

下載tomcat源碼包,這里下載的版本為apache-tomcat-7.0.82.tar.gz,下載完后解壓:

[root@709fd5453c25 /]# wget apache-tomcat-7.0.82.tar.gz

[root@709fd5453c25 /]# tar zxf apache-tomcat-7.0.82.tar.gz

[root@709fd5453c25 /]# mv apache-tomcat-7.0.82 /usr/local/tomcat

啟動(dòng)tomcat,命令為:/usr/local/tomcat/bin/startup.sh


高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

查看ps -ef |grep tomcat 進(jìn)程及端口是否存在


高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

通過頁面訪問可以看到tomcat默認(rèn)測試頁面:(通過本機(jī)80端口映射容器的8080端口)


高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

這個(gè)畫面是默認(rèn)網(wǎng)站,怎么來創(chuàng)建一個(gè)自己的網(wǎng)站頁面呢,定義自己的發(fā)布目錄,方法如下:在server.xml配置文件末尾加入如下行:(附截圖)

  1.  

高級運(yùn)維篇:Docker構(gòu)建Tomcat WEB服務(wù)器與tomcat如何優(yōu)化

在/data/webapps/www目錄下,創(chuàng)建自己的jsp代碼,重啟tomcat即可訪問。

延伸:Tomcat性能優(yōu)化

線上環(huán)境使用默認(rèn)tomcat配置文件,性能很一般,為了滿足大量用戶的訪問,需要對tomcat進(jìn)行參數(shù)性能優(yōu)化,具體優(yōu)化的地方如下:

  • Linux內(nèi)核的優(yōu)化
  • 服務(wù)器資源配置的優(yōu)化
  • Tomcat參數(shù)優(yōu)化
  • 配置負(fù)載集群優(yōu)化

這里著重講解tomcat參數(shù)的優(yōu)化:server.xml文件,關(guān)閉DNS查詢、配置大并發(fā)等參數(shù)。

maxThreads:tomcat起動(dòng)的大線程數(shù),即同時(shí)處理的任務(wù)個(gè)數(shù),默認(rèn)值為200

acceptCount:當(dāng)tomcat起動(dòng)的線程數(shù)達(dá)到大時(shí),接受排隊(duì)的請求個(gè)數(shù),默認(rèn)值為100

當(dāng)然這些值都不是越大越好,需要根據(jù)實(shí)際情況來設(shè)定。可以基于測試的基礎(chǔ)上來不斷的調(diào)優(yōu)分析。Server.xml里面優(yōu)化如下:

  1. protocol="org.apache.coyote.http11.Http11NioProtocol" 
  2. connectionTimeout="20000" 
  3. redirectPort="8443" 
  4. maxThreads="5000" 
  5. minSpareThreads="20" 
  6. acceptCount="1000" 
  7. disableUploadTimeout="true" 
  8. enableLookups="false" 
  9. URIEncoding="UTF-8" /> 

Catalina.sh JVM參數(shù)優(yōu)化,添加如下內(nèi)容:

  1. CATALINA_OPTS="$CATALINA_OPTS –Xms4000M –Xmx4000M –Xmn1000M -XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE -DRAMDISK=/ -DUSE_RAM_DISK=ture -DRAM_DISK=true" 

配置多個(gè)tomcat實(shí)例,方法也很簡單,只需要在服務(wù)器上cp多個(gè)tomcat,然后修改三個(gè)端口和發(fā)布目錄即可,然后分別啟動(dòng)即可。

為了提升整個(gè)網(wǎng)站的性能,還需要在tomcat前面架設(shè)nginx web反向代理服務(wù)器,用以提高用戶高速訪問。

文章標(biāo)題:Docker構(gòu)建Tomcat Web服務(wù)器及Tomcat性能優(yōu)化
標(biāo)題URL:http://muchs.cn/news/98868.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序虛擬主機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、ChatGPT、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司