国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Tomcat服務(wù)部署及優(yōu)化的實現(xiàn)

瀏覽:137日期:2023-03-19 16:51:35
目錄
  • 一、Tomcat介紹
  • 二、配置文件介紹及核心組件
    • 2.1.Tomcat核心組件
    • 2.2.Tomcat處理請求過程
    • 2.3.配置文件
  • 三、Tomcat服務(wù)部署
    • 1.安裝jdk
    • 2.設(shè)置JDK環(huán)境變量
    • 3.安裝tomcat
    • 4.啟動tomcat
    • 5.在網(wǎng)頁中查看
    • 6.將tomcat添加到服務(wù)
  • 四、Tomcat服務(wù)優(yōu)化
    • 4.1.Tomcat 虛擬主機配置
    • 4.2.Tomcat配置文件參數(shù)優(yōu)化

一、Tomcat介紹

  • 免費的、開放源代碼的Web應(yīng)用服務(wù)器
  • Apache軟件基金會(Apache Software Foundation)Jakarta項目中的一個核心項目
  • 由Apache、Sun和一些公司及個人共同開發(fā)而成
  • 深受Java愛好者的喜愛,并得到部分軟件開發(fā)商的認可
  • 目前比較流行的Web應(yīng)用服務(wù)器

二、配置文件介紹及核心組件

2.1.Tomcat核心組件

Tomcat 由一系列的組件構(gòu)成,其中核心的組件有三個:

  • Web 容器:完成 Web 服務(wù)器的功能HTTP HTTPS請求的接受和響應(yīng)。
  • Servlet 容器:由名稱為 catalina的腳本來處理 Servlet 代碼(具體的一個任務(wù),從數(shù)據(jù)庫中拿取數(shù)據(jù)給與前端)。
  • JSP 容器:用于將 JSP 動態(tài)網(wǎng)頁翻譯成 Servlet 代碼 index.html index.php index.jsp。

多實例:多實例就是在一臺服務(wù)器上同時開啟多個不同的服務(wù)端口,同時運行多個服務(wù)進程,這些服務(wù)進程通過不同的socket監(jiān)聽不同的服務(wù)端口來提供服務(wù)。

引擎:一般而言,引擎是一個程序或一套系統(tǒng)的支持部分。常見的程序引擎有游戲引擎、搜索引擎、殺毒引擎等。

2.2.Tomcat處理請求過程

詳細過程:

  • 用戶在瀏覽器中輸入該網(wǎng)址,請求被發(fā)送到本機端口8080,被在那里監(jiān)聽的Coyote HTTP/1.1 Connector獲得;
  • Connector把該請求交給它所在的Service的Engine (Container) 來處理,并等待Engine的回應(yīng);
  • Engine獲得請求localhost/test/index.jsp,匹配所有的虛擬主機Host;
  • Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的默認主機),名為localhostHost獲得請求/test/index.jsp,匹配它所擁有的所有Context。Host匹配到路徑為/test的Context(如果匹配不到就把該請求交給路徑名為“”的Context去處理);
  • path="/test"的Context獲得請求/ index. jsp,在它的mapping table中尋找出對應(yīng)的Servlet。Context 匹配到URLPattern為* .jsp的Servlet,對應(yīng)于JspServlet類;
  • 構(gòu)造HttpServletRequest對象和HttpServletResponse對象,作為參數(shù)調(diào)用JspServlet的doGet()或doPost(),執(zhí)行業(yè)務(wù)邏輯、數(shù)據(jù)存儲等
  • Context把執(zhí)行完之后的HttpServletResponse對象返回給Host;
  • Host把HttpServletResponse對象返回給Engine;
  • Engine把HttpServletResponse對象返回Connector;
  • Connector把HttpServletResponse對象返回給客戶Browser;

2.3.配置文件

(1)主要目錄說明

  • bin :存放啟動和關(guān)閉Tomcat 的腳本文件,比較常用的是catalina.sh、startup.sh、 shutdown.sh 三個文件
  • conf :存放Tomcat 服務(wù)器的各種配置文件,比較常用的是server.xml、context.xml、tomcat-users.xml web. xml 四個文件.
  • lib :存放Tomcat服務(wù)器的jar 包,一般不作任何改動,除非連接第三方服務(wù),比如redis, 那就需要添加相對應(yīng)的jar包
  • logs :存放Tomcat 日志
  • temp :存放Tomcat 運行時產(chǎn)生的文件
  • ???webapps :存放項目資源的目錄
  • work:Tomcat 工作目錄,一般清除 Tomcat 緩存的時候會使用到

(2)Tomcat配置文件詳解

① catalina.policy:權(quán)限控制配置文件
② catalina.properties:Tomcat的屬性配置文件
③ ??context.xml:上下文配置文件
④ logging.properties:日志相關(guān)配置文件
⑤ ???server.xml:主配置文件,通過配置文件,可以修改tomcat的啟動端口、網(wǎng)站目錄、虛擬主機、開啟https等功能
⑥ tomcat-user.xml/.xsd:管理用戶配置文件
⑦ web.xml:Tomcat的servlet、servlet-mapping、filter、MIME等相關(guān)配置

三、Tomcat服務(wù)部署

1.安裝jdk

在部署Tomcat之前必須安裝好jdk,因為jdk是Tomcat運行的必要環(huán)境

1.關(guān)閉防火墻 systemctl stop firewalldsystemctl disable firewalldsetenforce 0 2.將安裝 Tomcat 所需軟件包傳到/opt目錄下cd /opt apache-tomcat-9.0.16.tar.gz jdk-8u201-linux-x64.rpm 3.切換至/opt下,安裝JDKcd /optrpm -ivh jdk-8u201-linux-x64.rpm 

2.設(shè)置JDK環(huán)境變量

1.修改配置文件vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH 2.刷新配置文件source /etc/profile

3.安裝tomcat

1.切換至/opt下,解壓tomcat包cd /opttar -zxf apache-tomcat-9.0.16.tar.gz  2.將解壓后的包拷貝至/usr/local/下并重命名mv apache-tomcat-9.0.16 /usr/local/tomcat 

4.啟動tomcat

1.為tomcat服務(wù)創(chuàng)建軟鏈接ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/ 2.開啟服務(wù)或者關(guān)閉服務(wù)startup.shshutdown.sh 3.查看是否開啟成功netstat -natp | grep 8080

5.在網(wǎng)頁中查看

http://192.168.250.70:8080

6.將tomcat添加到服務(wù)

1.先關(guān)閉服務(wù)shutdown.sh 2.添加用戶設(shè)置屬主屬組useradd -s /sbin/nologin tomcatchown tomcat:tomcat tomcat/ -R 3.新建服務(wù)文件vim /etc/systemd/system/tomcat.service[Unit]Description=Tomcat#After=syslog.target network.target remote-fs.target nss-lookup.targetAfter=syslog.target network.target [Service]Type=forkingExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shRestartSec=3PrivateTmp=trueUser=tomcatGroup=tomcat [Install]WantedBy=multi-user.target 4. 重新加載服務(wù),并開啟,查看是否成功啟動systemctl daemon-reloadsystemctl start tomcatnetstat -ntap |grep 8080

四、Tomcat服務(wù)優(yōu)化

4.1.Tomcat 虛擬主機配置

1.創(chuàng)建 kgc 和 benet 項目目錄和文件

1.添加地址映射vim /etc/hosts192.168.250.70 www.kgc.com www.benet.com 2.創(chuàng)建目錄并且寫入文件mkdir /usr/local/tomcat/webapps/kgcmkdir /usr/local/tomcat/webapps/benetecho "this is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jspecho "this is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp

2、修改 Tomcat 主配置文件

<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>

3.關(guān)閉tomcat服務(wù),再開啟tomcat服務(wù)

shutdown.shtartup.sh

4.客戶機瀏覽器驗證訪問驗證

echo "192.168.250.60 www.kgc.com www.benet.com" >> /etc/hosts

瀏覽器訪問 http://www.kgc.com:8080
瀏覽器訪問 http://www.benet.com:8080

4.2.Tomcat配置文件參數(shù)優(yōu)化

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

常用的優(yōu)化參數(shù):

  • [ maxThreads] Tomcat 使用線程來處理接收的每個請求,這個值表示Tomcat可創(chuàng)建的最大的線程數(shù),默認值是200。
  • [minSpareThreads] 最小空閑線程數(shù),Tomcat啟動時的初始化的線程數(shù),表示即使沒有人使用也開這么多空線程等待,默認值是 10。
  • [maxSpareThreads] 最大備用線程數(shù),一旦創(chuàng)建的錢程超過這個值,Tomcat就會關(guān)閉不再需要的socket線程。默認值是-1(無限 制)。一般不需要指定。
  • [URIEncoding]&nbsp; 指定Tomcat容器的URL編碼格式,語言編碼格式這塊倒不如其它Web服務(wù)器軟件配置方便,需要分別指定。
  • [connnectionTimeout] 網(wǎng)絡(luò)連接超時,單位:堂秒,設(shè)置為0表示永不超時,這樣設(shè)置有隱患的。通常默認20000室秒就可以。
  • [enableLookups] 是否反查域名,以返回遠程主機的主機名,取值為:true或false,如果設(shè)置為false,則直接返回IP地址,為 了提高處理能力,應(yīng)設(shè)置為false。
  • [disableUploadTimeout] 上傳時是否使用超時機制。應(yīng)設(shè)置為true。
  • [connectionuploadTimeout] 上傳超時時間,畢竟文件上傳可能需要消耗更多的時間,這個根據(jù)你自己的業(yè)務(wù)需要自己調(diào),以使Servlet有較 長的時問來完成它的執(zhí)行,需要與上一個參數(shù)一起配合使用才會生效。
  • [acceptcount] 指定當所有可以使用的處理請求的線程數(shù)都被使用時,可傳入連接請求的最大隊列長度,超過這個數(shù)的請求將 不予處理,默認為100個。
  • [compression] 是否對響應(yīng)的數(shù)據(jù)進行GZIP壓縮,off:表示禁止壓縮;on:表示允許壓縮(文本將被壓縮)、force:表示所有情況下都進行壓縮,默認值為 off,壓縮數(shù)據(jù)后可以有效的減少頁面的大小,一般可以減小 1/3 左右,節(jié)省帶寬。
  • [compressionMinSize] 表示壓縮響應(yīng)的最小值,只有當響應(yīng)報文大小大于這個值的時候才會對報文進行壓縮,如果開啟了壓縮功能,默認值就是 2048。
  • [compressableMimeType] 壓縮類型,指定對哪些類型的文件進行數(shù)據(jù)壓縮。
  • [noCompressionUserAgents=“gozilla, traviata”] 對于以下的瀏覽器,不啟用壓縮。
<Connector port="8080" protocol="HTTP/11.1" connectionTimeout="20000" redirectPort="8443" 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"/>

到此這篇關(guān)于Tomcat服務(wù)部署及優(yōu)化的實現(xiàn)的文章就介紹到這了,更多相關(guān)Tomcat服務(wù)部署及優(yōu)化內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標簽: Tomcat
主站蜘蛛池模板: 和田县| 麻江县| 嘉兴市| 凉山| 河间市| 张北县| 桃源县| 鄢陵县| 陆河县| 湘西| 海口市| 巴楚县| 澳门| 云梦县| 曲周县| 宁武县| 界首市| 突泉县| 安陆市| 凌源市| 漯河市| 宁南县| 徐汇区| 林甸县| 吉木萨尔县| 凤台县| 仙桃市| 湘西| 洛扎县| 佛坪县| 仙桃市| 茶陵县| 长海县| 铜川市| 增城市| 修水县| 安顺市| 建湖县| 郁南县| 卢氏县| 富源县|