Web应用_Tomcat部署及优化
Web應用_Tomcat部署及優化
- 一、Tomcat概述
- 1.Tomcat構成
- 二、Tomcat 服務部署
- 1.關閉防火墻,將安裝 Tomcat 所需軟件包傳到/opt目錄下
- 2.安裝JDK
- 3.設置JDK環境變量
- 小知識
- 4.安裝啟動Tomcat
- 5.優化tomcat啟動速度
- 三、Tomcat 虛擬主機配置
- 1.創建 kgc 和 benet 項目目錄和文件
- 2.修改 Tomcat 主配置文件
- 3.客戶端瀏覽器訪問驗證
- 四、Tomcat 優化
- Tomcat 配置文件參數優化
一、Tomcat概述
- Tomcat是Java語言開發的,Tomcat服務器是一個免費的開放源代碼的Web應用服務器,是Apache軟件基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成。Tomcat屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。一般來說,Tomcat雖然和Apache或者Nginx這些Web服務器一樣,具有處理HTML頁面的功能,然而由于其處理靜態HTML的能力遠不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在后端。
1.Tomcat構成
Tomcat 由一系列的組件構成,其中核心的組件有三個:
-
(1)Web 容器:完成 Web 服務器的功能。
-
(2)Servlet 容器:名字為 catalina,用于處理 Servlet 代碼。
-
(3)JSP 容器:用于將 JSP 動態網頁翻譯成 Servlet 代碼。
-
Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層。使用Servlet,可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。與CGI(公共網關接口)功能相類似。
-
JSP全稱Java Server Pages, 是一種動態網頁開發技術。它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以<%開頭以%>結束。 JSP是一種Java servlet,主要用于實現Java web應用程序的用戶界面部分。 JSP通過網頁表單獲取用戶輸入數據、訪問數據庫及其他數據源,然后動態地創建網頁。
二、Tomcat 服務部署
- 在部署 Tomcat 之前必須安裝好 jdk,因為 jdk 是 Tomcat 運行的必要環境。
1.關閉防火墻,將安裝 Tomcat 所需軟件包傳到/opt目錄下
jdk-8u201-linux-x64.rpm apache-tomcat-9.0.16.tar.gzsystemctl stop firewalld systemctl disable firewalld setenforce 02.安裝JDK
cd /opt rpm -qpl jdk-8u201-linux-x64.rpm rpm -ivh jdk-8u201-linux-x64.rpm java -version
3.設置JDK環境變量
vim /etc/profile.d/java.sh export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH source /etc/profile.d/java.sh java -version
小知識
CLASSPATH:編譯、運行Java程序時,JRE會去該變量指定的路徑中搜索所需的類(.class)文件。 dt.jar:是關于運行環境的類庫,主要是可視化的 swing 的包。 tools.jar:主要是一些jdk工具的類庫,包括javac、java、javap(jdk自帶的一個反編譯工具)、javadoc等。 JDK :java development kit (java開發工具) JRE :java runtime environment (java運行時環境) JVM :java virtuak machine (java虛擬機),使java程序可以在多種平臺上運行class文件。4.安裝啟動Tomcat
cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mv apache-tomcat-9.0.16 /usr/local/tomcat ##啟動tomcat ## #后臺啟動 /usr/local/tomcat/bin/startup.sh 或 /usr/local/tomcat/bin/catalina.sh start #前臺啟動 /usr/local/tomcat/bin/catalina.sh run netstat -natp | grep 8080瀏覽器訪問Tomcat的默認主頁 http://192.168.172.20:8080
5.優化tomcat啟動速度
第一次啟動tomcat可能會發現 Tomcat 啟動很慢,默認情況下可能會需要幾十秒,可以修改jdk參數進行改。
第一次啟動tomcat可能會發現 Tomcat 啟動很慢,默認情況下可能會需要幾十秒,可以修改jdk參數進行改。
三、Tomcat 虛擬主機配置
很多時候公司會有多個項目需要運行,那么肯定不可能是一臺服務器上運行多個Tomcat服務,這樣會消耗太多的系統資源。此時,就需要使用到 Tomcat 虛擬主機。例如現在新增兩個域名 www.accp.com 和 www.pcca.com, 希望通過這兩個域名訪問到不同的項目內容。
1.創建 kgc 和 benet 項目目錄和文件
mkdir /usr/local/tomcat/webapps/accp mkdir /usr/local/tomcat/webapps/pcca echo "This is accp web!" > /usr/local/tomcat/webapps/accp/index.jsp echo "This is pcca web!" > /usr/local/tomcat/webapps/pcca/index.jsp
2.修改 Tomcat 主配置文件
vim /usr/local/tomcat/conf/server.xml --165行前--插入 <Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/kgc" path="" reloadable="true" /> </Host><Host name="www.benet.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true" /> </Host>/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.sh Host name :主機名 appBase :Tomcat程序工作目錄,相對路徑為webapps,絕對路徑為/usr/local/tomcat/webapps unpackWARs :是否解壓war包 autoDeploy :指示Tomcat運行時,如有新的WEB應用是否允許自動部署 xmlValidation :是否驗證xml文件執行有效性檢驗的標志 xmlNamespaceAware :是否啟用xml命名空間,設置該值與xmlValidation為true,表示對web.xml文件執行有效性檢驗docBase :WEB應用的目錄 path :設置訪問的URI為WEB應用的根目錄 reloadable :是否在程序有改動時重新載入
3.客戶端瀏覽器訪問驗證
echo "192.168.172.20 www.accp.com www.pcca.com" >> /etc/hosts瀏覽器訪問 http://www.accp.com:8080 頁面顯示This is accp web! 瀏覽器訪問 http://www.pcca.com:8080 頁面顯示This is pcca web!
四、Tomcat 優化
- Tomcat默認安裝下的缺省配置并不適合生產環境,它可能會頻繁出現假死現象需要重啟,只有通過不斷壓測優化才能讓它最高效率穩定的運行。優化主要包括三方面,分別為操作系統優化(內核參數優化),Tomcat配置文件參數優化,Java虛擬機(JVM)調優。
Tomcat 配置文件參數優化
常用的優化相關參數如下: 【maxThreads】Tomcat 使用線程來處理接收的每個請求,這個值表示 Tomcat 可創建的最大的線程數,默認值是 200。【minSpareThreads】最小空閑線程數,Tomcat 啟動時的初始化的線程數,表示即使沒有人使用也開這么多空線程等待,默認值是 10?!緈axSpareThreads】最大備用線程數,一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。默認值是-1(無限制)。一般不需要指定?!綰RIEncoding】指定 Tomcat 容器的 URL 編碼格式,語言編碼格式這塊倒不如其它 Web服務器軟件配置方便,需要分別指定?!綾onnnectionTimeout】網絡連接超時,單位:毫秒,設置為 0 表示永不超時,這樣設置有隱患的。通常默認 20000 毫秒就可以?!緀nableLookups】是否反查域名,以返回遠程主機的主機名,取值為:true 或 false,如果設置為 false,則直接返回 IP 地址,為了提高處理能力,應設置為 false?!綿isableUploadTimeout】上傳時是否使用超時機制。應設置為 true。【connectionUploadTimeout】上傳超時時間,畢竟文件上傳可能需要消耗更多的時間,這個根據你自己的業務需要自己調,以使Servlet有較長的時間來完成它的執行,需要與上一個參數一起配合使用才會生效?!綼cceptCount】指定當所有可以使用的處理請求的線程數都被使用時,可傳入連接請求的最大隊列長度,超過這個數的請求將不予處理,默認為 100 個。【compression】是否對響應的數據進行GZIP壓縮,off:表示禁止壓縮;on:表示允許壓縮(文本將被壓縮)、force:表示所有情況下都進行壓縮,默認值為 off,壓縮數據后可以有效的減少頁面的大小,一般可以減小 1/3 左右,節省帶寬。【compressionMinSize】表示壓縮響應的最小值,只有當響應報文大小大于這個值的時候才會對報文進行壓縮,如果開啟了壓縮功能,默認值就是 2048。【compressableMimeType】壓縮類型,指定對哪些類型的文件進行數據壓縮?!緉oCompressionUserAgents="gozilla, traviata"】對于以下的瀏覽器,不啟用壓縮以上是一些常用的配置參數,還有好多其它的參數設置,還可以繼續深入的優化,HTTP Connector 與 AJP Connector 的參數屬性值,可以參考官方文檔的詳細說明進行學習。 vim /usr/local/tomcat/conf/server.xml ...... <Connector port="8080" protocol="HTTP/11.1" connectionTimeout="20000" redirectPort="8443" --71行--插入 minSpareThreads="50" enableLookups="false" disableUploadTimeout="true" acceptCount="300" maxThreads="500" processorCache="500" URIEncoding="UTF-8" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png"/>總結
以上是生活随笔為你收集整理的Web应用_Tomcat部署及优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web服务-Nginx网页服务
- 下一篇: 内存价格风起云涌,速度飞快却无法回忆,内