Tomcat虛擬主機配置java
某些時候公司有多個項目同時運行時,一臺服務器不建議運行多個Tomcat服務,須要配置虛擬主機
經過兩個域名訪問到不一樣的項目內容web
步驟bootstrap
1.建立www和bbs項目 目錄和文件.
2.修改Tomcat主配置文件
3.重啓Tomcat服務
4.測試vim
Tomcat優化瀏覽器
Tomcat優化
Tomcat 的缺省配置並不適合生產環境,它會頻繁出現假死現象須要重啓,只有經過不斷壓測優化才能讓它最高效率穩定的運行。優化主要有三方面,分爲操做系統優化(內核參數優化),Tomcat 配置文件參數優化,Java 虛擬機(JVM)調優。tomcat
Tomcat經常使用的優化相關參數安全
【maxThreads】Tomcat 使用線程來處理接收的每一個請求,這個值表示 Tomcat 可建立的最
大的線程數,默認值是 200。服務器
【minSpareThreads】最小空閒線程數,Tomcat 啓動時的初始化的線程數,表示即便沒有
人使用也開這麼多空線程等待,默認值是 10網絡
【maxSpareThreads】最大備用線程數,一旦建立的線程超過這個值,Tomcat 就會關閉不
再須要的 socket 線程。默認值是-1(無限制)。通常不須要指定app
【URIEncoding】指定 Tomcat 容器的 URL 編碼格式,語言編碼格式這塊倒不如其它 Web
服務器軟件配置方便,須要分別指定
【connnectionTimeout】網絡鏈接超時,單位:毫秒,設置爲 0 表示永不超時,這樣設置
有隱患的。一般默認 20000 毫秒就能夠
【enableLookups】是否反查域名,以返回遠程主機的主機名,取值爲:true 或 false,
若是設置爲 false,則直接返回 IP 地址,爲了提升處理能力,應設置爲 false。
【disableUploadTimeout】上傳時是否使用超時機制。應設置爲 true。
【connectionUploadTimeout】上傳超時時間,畢竟文件上傳可能須要消耗更多的時間,
這個根據你本身的業務須要本身調,以使 Servlet 有較長的時間來完成它的執行,須要
與上一個參數一塊兒配合使用纔會生效
【acceptCount】指定當全部可使用的處理請求的線程數都被使用時,可傳入鏈接請求
的最大隊列長度,超過這個數的請求將不予處理,默認爲 100 個。
【compression】是否對響應的數據進行 GZIP 壓縮,off:表示禁止壓縮;on:表示容許
壓縮(文本將被壓縮)、force:表示全部狀況下都進行壓縮,默認值爲 off,壓縮數據
後能夠有效的減小頁面的大小,通常能夠減少 1/3 左右,節省帶寬
【compressionMinSize】表示壓縮響應的最小值,只有當響應報文大小大於這個值的時候
纔會對報文進行壓縮,若是開啓了壓縮功能,默認值就是 2048
【compressableMimeType】壓縮類型,指定對哪些類型的文件進行數據壓縮。
【noCompressionUserAgents="gozilla, traviata"】對於如下的瀏覽器,不啓用壓縮
實驗步驟
安裝配置域名解析服務
[root@localhost ~]# yum install bind -y
[root@localhost ~]# vim /etc/named.conflisten-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
#複製kgc文件並更名爲accp文件,不作修改[root@localhost named]# systemctl start named
#啓動域名解析服務[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
#關閉防火牆與加強型安全功能
建立 kgc 和 accp 項目目錄和文件
[root@localhost named]# mkdir /usr/local/tomcat/webapps/kgc
#建立kgc站點目錄[root@localhost named]# echo "This is kgc web" > /usr/local/tomcat/webapps/kgc/index.jsp
#編輯kgc首頁[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虛擬主機配置
</Host>
<Host name="www.kgc.com" appBase="/usr/local/tomcat/webapps"
#定義虛擬主機名,並指向站點文件路徑unpackWARs="true" #開啓war包的更新 autoDeploy="true" #開啓自動部署 xmlValidation="false" #關閉xml驗證 xmlNamespaceAware="false"> #關閉xml命名空間 <Context docBase="/usr/local/tomcat/webapps/kgc" #指定網頁站點路徑 path="" reloadable="true" /> #指定path默認加載的類與reloadable監視類的開啓 </Host> #注意標籤收尾 #定義www.accp.com虛擬主機配置 <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 #關閉
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 #開啓Tomcat服務
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.
瀏覽測試網頁