溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

tomcat優(yōu)化與虛擬主機(jī)

發(fā)布時(shí)間:2020-07-20 13:01:50 來(lái)源:網(wǎng)絡(luò) 閱讀:274 作者:wx5d3a7feeb53cc 欄目:云計(jì)算

Tomcat虛擬主機(jī)配置

■某些時(shí)候公司有多個(gè)項(xiàng)目同時(shí)運(yùn)行時(shí),一臺(tái)服務(wù)器不建議運(yùn)行多個(gè)Tomcat服務(wù),需要配置虛擬主機(jī)
■通過(guò)兩個(gè)域名訪問(wèn)到不同的項(xiàng)目?jī)?nèi)容
■步驟
1.創(chuàng)建www和bbs項(xiàng)目 目錄和文件
2.修改Tomcat主配置文件
3.重啟Tomcat服務(wù)
4.測(cè)試

Tomcat優(yōu)化

Tomcat 的缺省配置并不適合生產(chǎn)環(huán)境,它會(huì)頻繁出現(xiàn)假死現(xiàn)象需要重啟,只有通過(guò)不斷壓測(cè)優(yōu)化才能讓它最高效率穩(wěn)定的運(yùn)行。優(yōu)化主要有三方面,分為操作系統(tǒng)優(yōu)化(內(nèi)核參數(shù)優(yōu)化),Tomcat 配置文件參數(shù)優(yōu)化,Java 虛擬機(jī)(JVM)調(diào)優(yōu)。

Tomcat常用的優(yōu)化相關(guān)參數(shù)

【maxThreads】Tomcat 使用線程來(lái)處理接收的每個(gè)請(qǐng)求,這個(gè)值表示 Tomcat 可創(chuàng)建的最
大的線程數(shù),默認(rèn)值是 200。

【minSpareThreads】最小空閑線程數(shù),Tomcat 啟動(dòng)時(shí)的初始化的線程數(shù),表示即使沒(méi)有
人使用也開(kāi)這么多空線程等待,默認(rèn)值是 10

【maxSpareThreads】最大備用線程數(shù),一旦創(chuàng)建的線程超過(guò)這個(gè)值,Tomcat 就會(huì)關(guān)閉不
再需要的 socket 線程。默認(rèn)值是-1(無(wú)限制)。一般不需要指定

【URIEncoding】指定 Tomcat 容器的 URL 編碼格式,語(yǔ)言編碼格式這塊倒不如其它 Web
服務(wù)器軟件配置方便,需要分別指定

【connnectionTimeout】網(wǎng)絡(luò)連接超時(shí),單位:毫秒,設(shè)置為 0 表示永不超時(shí),這樣設(shè)置
有隱患的。通常默認(rèn) 20000 毫秒就可以

【enableLookups】是否反查域名,以返回遠(yuǎn)程主機(jī)的主機(jī)名,取值為:true 或 false,
如果設(shè)置為 false,則直接返回 IP 地址,為了提高處理能力,應(yīng)設(shè)置為 false。

【disableUploadTimeout】上傳時(shí)是否使用超時(shí)機(jī)制。應(yīng)設(shè)置為 true。

【connectionUploadTimeout】上傳超時(shí)時(shí)間,畢竟文件上傳可能需要消耗更多的時(shí)間,
這個(gè)根據(jù)你自己的業(yè)務(wù)需要自己調(diào),以使 Servlet 有較長(zhǎng)的時(shí)間來(lái)完成它的執(zhí)行,需要
與上一個(gè)參數(shù)一起配合使用才會(huì)生效

【acceptCount】指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可傳入連接請(qǐng)求
的最大隊(duì)列長(zhǎng)度,超過(guò)這個(gè)數(shù)的請(qǐng)求將不予處理,默認(rèn)為 100 個(gè)。

【compression】是否對(duì)響應(yīng)的數(shù)據(jù)進(jìn)行 GZIP 壓縮,off:表示禁止壓縮;on:表示允許
壓縮(文本將被壓縮)、force:表示所有情況下都進(jìn)行壓縮,默認(rèn)值為 off,壓縮數(shù)據(jù)
后可以有效的減少頁(yè)面的大小,一般可以減小 1/3 左右,節(jié)省帶寬

【compressionMinSize】表示壓縮響應(yīng)的最小值,只有當(dāng)響應(yīng)報(bào)文大小大于這個(gè)值的時(shí)候
才會(huì)對(duì)報(bào)文進(jìn)行壓縮,如果開(kāi)啟了壓縮功能,默認(rèn)值就是 2048

【compressableMimeType】壓縮類(lèi)型,指定對(duì)哪些類(lèi)型的文件進(jìn)行數(shù)據(jù)壓縮。

【noCompressionUserAgents="gozilla, traviata"】對(duì)于以下的瀏覽器,不啟用壓縮

如果已經(jīng)對(duì)代碼進(jìn)行了動(dòng)靜分離,靜態(tài)頁(yè)面和圖片等數(shù)據(jù)就不需要 Tomcat 處理了,那
么也就不需要在 Tomcat 中配置壓縮了。因?yàn)檫@里只有一臺(tái) Tomcat 服務(wù)器,而且壓測(cè)的是
Tomcat 首頁(yè),會(huì)有圖片和靜態(tài)資源文件,所以這里啟用壓縮

實(shí)例演示

第一步:安裝配置域名解析服務(wù)

[root@localhost ~]# yum install bind -y
[root@localhost ~]# vim /etc/named.conf 

 listen-on port 53 { any; };
 ...
allow-query     { any; };

[root@localhost ~]# vim /etc/named.rfc1912.zones 

zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};      

zone "accp.com" IN {
        type master;
        file "accp.com.zone";
        allow-update { none; };
};

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.158

[root@localhost named]# cp -p kgc.com.zone accp.com.zone
#復(fù)制kgc文件并改名為accp文件,不做修改

[root@localhost named]# systemctl start named
#啟動(dòng)域名解析服務(wù)

[root@localhost named]# systemctl stop firewalld.service 
[root@localhost named]# setenforce 0
#關(guān)閉防火墻與增強(qiáng)型安全功能

第二步:創(chuàng)建 kgc 和 accp 項(xiàng)目目錄和文件

[root@localhost named]# mkdir /usr/local/tomcat/webapps/kgc
#創(chuàng)建kgc站點(diǎn)目錄

[root@localhost named]# echo "This is kgc web" > /usr/local/tomcat/webapps/kgc/index.jsp
#編輯kgc首頁(yè)

[root@localhost named]# mkdir /usr/local/tomcat/webapps/accp
[root@localhost named]# echo "This is accp web" > /usr/local/tomcat/webapps/accp/index.jsp

第三步:修改 Tomcat 主配置文件server.xml

[root@localhost named]#  vim /usr/local/tomcat/conf/server.xml 
    #定義www.kgc.com虛擬主機(jī)配置
      </Host>
      <Host name="www.kgc.com"  appBase="/usr/local/tomcat/webapps"
      #定義虛擬主機(jī)名,并指向站點(diǎn)文件路徑

            unpackWARs="true" 
            #開(kāi)啟war包的更新

            autoDeploy="true" 
            #開(kāi)啟自動(dòng)部署 

            xmlValidation="false"
            #關(guān)閉xml驗(yàn)證

            xmlNamespaceAware="false">
            #關(guān)閉xml命名空間

             <Context docBase="/usr/local/tomcat/webapps/kgc"
            #指定網(wǎng)頁(yè)站點(diǎn)路徑

            path="" reloadable="true" />
            #指定path默認(rèn)加載的類(lèi)與reloadable監(jiān)視類(lèi)的開(kāi)啟

      </Host>
      #注意標(biāo)簽收尾

    #定義www.accp.com虛擬主機(jī)配置
      <Host name="www.accp.com"  appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
                <Context docBase="/usr/local/tomcat/webapps/accp" path="" reloadable="true" />
      </Host>

[root@localhost named]# shutdown.sh     #關(guān)閉
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@localhost named]# startup.sh      #開(kāi)啟Tomcat服務(wù)
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_201-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

第四步:瀏覽測(cè)試網(wǎng)頁(yè)

1.使用瀏覽器訪問(wèn) http://www.kgc.com:8080 頁(yè)面顯示This is kgc web
tomcat優(yōu)化與虛擬主機(jī)
2.使用瀏覽器訪問(wèn) http://www.accp.com:8080 頁(yè)面顯示This is accp web
tomcat優(yōu)化與虛擬主機(jī)

第五步:優(yōu)化Tomcat

1.未優(yōu)化前使用apache-jmeter先壓測(cè)一下
tomcat優(yōu)化與虛擬主機(jī)

2.修改主配置文件server.xml

[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 

<Connector port="8080" protocol="HTTP/11.1" 
# 默認(rèn)端口8080以及http協(xié)議

connectionTimeout="20000" 
#連接超時(shí)20秒

redirectPort="8443" 
#HTTPS協(xié)議號(hào)

minSpareThreads="50" 
#最小空閑進(jìn)程50個(gè)

enableLookups="false" 
#不開(kāi)啟反向查找

disableUploadTimeout="true" 
#上傳超時(shí)

acceptCount="300" 
#等待隊(duì)列為300

maxThreads="500" 
#最大進(jìn)程數(shù)為500

processorCache="500"
#緩存對(duì)象序列為500

URIEncoding="UTF-8" 
#字符集支持中文

compression="on" 
#開(kāi)啟壓縮功能

compressionMinSize="2048" 
#壓縮最小閾值為2048

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png"/>
#支持的壓縮類(lèi)型

3.再次壓測(cè)優(yōu)化后的Tomcat
tomcat優(yōu)化與虛擬主機(jī)

線網(wǎng)上可以多次壓測(cè)并根據(jù)壓測(cè)結(jié)果繼續(xù)進(jìn)行優(yōu)化,從而使用戶擁有更好的體驗(yàn)感!

謝謝閱讀!!!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI