溫馨提示×

溫馨提示×

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

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

Tomcat各文件功能、配置

發(fā)布時(shí)間:2020-08-05 19:52:25 來源:網(wǎng)絡(luò) 閱讀:554 作者:aishangwei 欄目:開發(fā)技術(shù)
Tomcatt各配置文件功能詳解:
  • catalina.properties: 該文件包括服務(wù)器共享定義,共享加載器,和JARs,服務(wù)器在啟動(dòng)時(shí)會(huì)掃描此文件。
  • server.xml:此文件包含重要信息,如IP地址,端口,虛擬主機(jī)和上下文路徑等。
  • tomcat-user.xml: 往往認(rèn)證,授權(quán),和角色定義在該文件中進(jìn)行定義,還經(jīng)常存儲(chǔ)數(shù)據(jù)庫用戶名、密碼、角色和管理容器的安全。
  • logging.properties:定義tomcat日志的屬性信息。
  • web.xml:所有web應(yīng)用加載到Tomcat實(shí)例的默認(rèn)值,在tomcat啟動(dòng)時(shí),假如應(yīng)用有它自己的部署描述符,那它自己的定義優(yōu)先web.xml中的定義。
  • context.xml: 該文件的內(nèi)容將會(huì)加載到第個(gè)應(yīng)用中,比如配置持久連接的參數(shù),連接追蹤等。
Context 路徑:

它常常被用來配置虛擬機(jī),就是可以使得多個(gè)域名在相同的web服務(wù)器上或單一的IP。
用來配置.war文件的URL映射。

上下文路徑主要帶來兩個(gè)好處:
  1. 可以減少服務(wù)器的負(fù)載,當(dāng)服務(wù)器收到一個(gè)請深圳市時(shí),它會(huì)檢查server.xml文件中的定義URL路徑,假如找到的話,使用找到的路徑進(jìn)行服務(wù)的響應(yīng),否則服務(wù)器將會(huì)掃描所有的WAR文件,因此,它可以減少CPU的消耗。
  2. 給了我們可以自已定義的自由,如我們可以針對不同應(yīng)用定制logging,appBase,DB connection等。
使用context path有兩種方式:
  1. Tomcat WEB Application Manager(具體不介紹)
  2. 在Server.xml使用命令行的配置
    命令行方式配置示例:
    <Context path="/sample" docBase="/opt/" reloadable="true" swallowOutput="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="www-sample-com-log." suffix=".txt" timestamp="true"/>
    </Context>

path="/sample": 定義客戶端請求服務(wù)器的URl,如:
http://localhost:8080/sample
docBase="/opt/" 定義war包所放在的路徑
reloadable="true" 在不用重新啟動(dòng)tomcat時(shí),可以自動(dòng)加載。
swallowoutput="true": 針對system.out和system.err的日志將會(huì)重定向到應(yīng)用日志中。。

應(yīng)用的常見架構(gòu):
  • WEB-INF:是私有文件,不被別人訪問的,主要 各個(gè)組件的組成關(guān)系等。
  • WegbApplicationName:該目錄中,所有的靜態(tài)文件,比如HTML和JSP文件,也是應(yīng)用的根。
  • /WEB-INF/web.xml:包括了 web應(yīng)用的部署描述符,針對應(yīng)用指定的資源。
  • /WEB-INF/classes:包括了所有類文件,還有第三方的類等。
  • /WEB-INF/lib: 存放著JSP編譯需要 的JAR文件。
  • web.xml:包含所有的動(dòng)態(tài)文件(servlets和JSP)還有一些比如信息相關(guān)的文件,比如會(huì)話超時(shí)時(shí)間和數(shù)據(jù)庫的定義 。
歸檔文件:
  • 一般開發(fā)給的是一個(gè)歸檔好的文件,該文件包括了模塊的類,靜態(tài)文件,目錄和部署描述符文件。一般用的JAR工具創(chuàng)建的。
  • EJBs常被打包成.jar文件
  • WEB應(yīng)用打包成.war文件
  • 資源適配器打包成.rar文件
  • 企業(yè)應(yīng)用被打包成.ear文件,也可以包括EJBs,WEB應(yīng)用,和資源適配器
  • WEB服務(wù)一般打包成.ear文件或者war文件。
在部署應(yīng)用,配置時(shí)的常見問題及解決方法
問題1:

在部署后, 別人訪問的仍是老內(nèi)容,就是新內(nèi)容好像沒有生效
解決步驟:
查看新文件是否在部署的目錄里面
檢查catalina.out日志文件,查看WAR文件是有沒有部署
假如前兩步檢查沒有問題,但問題仍然存在的話,那就停止服務(wù)器,清除work/Catalina/localhost/temp文件夾中的內(nèi)容。
cd /opt/apache-tomcat-8.0.12/temp/ rm -rf ../temp/
cd /opt/apache-tomcat-8.0.12/work/Catalina/localhost/ rm -rf ../localhost/

問題2:

在部署后,有些節(jié)點(diǎn)顯示是新內(nèi)容,但有些節(jié)點(diǎn)顯示的是老內(nèi)容

  1. 查看新文件是否在部署的目錄里面
  2. 檢查catalina.out日志文件,查看WAR文件是有沒有部署
    假如前兩步檢查沒有問題,但問題仍然存在的話,那就停止服務(wù)器,清除work/Catalina/localhost/temp文件夾中的內(nèi)容。
    cd /opt/apache-tomcat-8.0.12/temp/ rm -rf ../temp/
    cd /opt/apache-tomcat-8.0.12/work/Catalina/localhost/ rm -rf ../localhost/
  3. 重新動(dòng)服務(wù)器,并檢查兩個(gè)服務(wù)器的數(shù)據(jù)庫是否一致狀態(tài)。
問題3:

在改變server.xml文件后,tomcat實(shí)例無法啟動(dòng)
(1)進(jìn)入到bin目錄下
(2)運(yùn)行configtst.sh,它會(huì)檢查配置文件的。
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:435)
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.<init>(ServerSocket.java:194)

上面的顯示信息意味著已經(jīng)運(yùn)行了,那就停止服務(wù)器清除temp文件夾下的內(nèi)容。然后重新啟動(dòng)服務(wù)器。

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

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

AI