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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web应用_Tomcat部署及优化

發布時間:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 0

2.安裝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


編寫一個java腳本驗證安裝是否成功首先使用文本工具編寫java源代碼,比如 Hello.java ; 在命令行中,輸入命令:javac Hello.java,對源代碼進行編譯,生成 class 字節碼文件; 編譯完成后,如果沒有報錯信息,輸入命令:java Hello,運行 class 字節碼文件,由 JVM 對字節碼進行解釋和運行,打印 “Hello World”。vim Hello.java #類名、接口名命令:英文大小寫字母、數字字符、$和_,不能使用關鍵字和數字開頭; 一個單詞命名時第一個單詞的首字母要大寫;多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz(大駝峰命名法) public class Hello { public static void main(String[] args){System.out.println("Hello world!");} }javac Hello.java java Hello


小知識

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參數進行改。

vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security --117--修改 securerandom.source=file:/dev/urandom -------------說明------------------------------------------------------------------ /dev/urandom是/dev/random的非阻塞版本,即當熵池中沒有可取的隨機數時,讀取/dev/urandom設備仍然會返回一個隨機數,只是該隨機數的安全性理論上不高。如果應用對安全性要求很高,那么應該使用/dev/random。/usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/startup.sh ll /usr/local/tomcat/ ------主要目錄說明--------------------- bin :存放啟動和關閉 Tomcat 的腳本文件,比較常用的是 catalina.sh、startup.sh、shutdown.sh 三個文件 conf :存放 Tomcat 服務器的各種配置文件,比較常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四個文件。 lib :存放 Tomcat 服務器的 jar 包,一般不作任何改動,除非連接第三方服務,比如 redis,那就需要添加相對應的 jar 包 logs :存放 Tomcat 日志 temp :存放 Tomcat 運行時產生的文件 webapps :存放項目資源的目錄 work :Tomcat 工作目錄,一般清除 Tomcat 緩存的時候會使用到




三、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 :設置訪問的URIWEB應用的根目錄 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。【maxSpareThreads】最大備用線程數,一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。默認值是-1(無限制)。一般不需要指定。【URIEncoding】指定 Tomcat 容器的 URL 編碼格式,語言編碼格式這塊倒不如其它 Web服務器軟件配置方便,需要分別指定。【connnectionTimeout】網絡連接超時,單位:毫秒,設置為 0 表示永不超時,這樣設置有隱患的。通常默認 20000 毫秒就可以。【enableLookups】是否反查域名,以返回遠程主機的主機名,取值為:truefalse,如果設置為 false,則直接返回 IP 地址,為了提高處理能力,應設置為 false。【disableUploadTimeout】上傳時是否使用超時機制。應設置為 true。【connectionUploadTimeout】上傳超時時間,畢竟文件上傳可能需要消耗更多的時間,這個根據你自己的業務需要自己調,以使Servlet有較長的時間來完成它的執行,需要與上一個參數一起配合使用才會生效。【acceptCount】指定當所有可以使用的處理請求的線程數都被使用時,可傳入連接請求的最大隊列長度,超過這個數的請求將不予處理,默認為 100 個。【compression】是否對響應的數據進行GZIP壓縮,off:表示禁止壓縮;on:表示允許壓縮(文本將被壓縮)、force:表示所有情況下都進行壓縮,默認值為 off,壓縮數據后可以有效的減少頁面的大小,一般可以減小 1/3 左右,節省帶寬。【compressionMinSize】表示壓縮響應的最小值,只有當響應報文大小大于這個值的時候才會對報文進行壓縮,如果開啟了壓縮功能,默認值就是 2048。【compressableMimeType】壓縮類型,指定對哪些類型的文件進行數據壓縮。【noCompressionUserAgents="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部署及优化的全部內容,希望文章能夠幫你解決所遇到的問題。

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