web server apache tomcat11-01-官方文檔入門介紹

前言

整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本爲 v11 最新的版本。

開源項目

同時也爲從零手寫實現 tomcat 提供一些基礎和特性的思路。

minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。

系列文章

web server apache tomcat11-01-官方文檔入門介紹

web server apache tomcat11-02-setup 啓動

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

...

簡介

對於管理員和 Web 開發人員來說,在開始之前,有一些重要的信息您應該熟悉。本文檔作爲對 Tomcat 容器背後一些概念和術語的簡要介紹,以及在需要幫助時應該去哪裏的指南。

術語

在閱讀這些文檔的過程中,您會遇到許多術語;一些是特定於 Tomcat 的,而另一些是由 Servlet 和 JSP 規範定義的。

  • 上下文(Context)- 簡而言之,上下文是一個 Web 應用程序。

如果您發現需要添加更多術語到此部分,請告訴我們。

目錄和文件

以下是一些關鍵的 Tomcat 目錄:

  • /bin - 啓動、關閉和其他腳本。*.sh 文件(對於 Unix 系統)是 *.bat 文件(對於 Windows 系統)的功能副本。由於 Win32 命令行缺少某些功能,因此這裏有一些額外的文件。
  • /conf - 配置文件和相關的 DTD。這裏最重要的文件是 server.xml。這是容器的主要配置文件。
  • /logs - 默認情況下存放日誌文件。
  • /webapps - 這是您的 Web 應用程序的位置。

CATALINA_HOME 和 CATALINA_BASE

在文檔中,有兩個屬性的引用:

  • CATALINA_HOME:代表您的 Tomcat 安裝的根目錄,例如 /home/tomcat/apache-tomcat-11.0.0 或 C:\Program Files\apache-tomcat-11.0.0。
  • CATALINA_BASE:代表特定 Tomcat 實例的運行時配置的根目錄。如果您想在一臺機器上運行多個 Tomcat 實例,請使用 CATALINA_BASE 屬性。

如果您將這兩個屬性設置爲不同的位置,那麼 CATALINA_HOME 位置包含靜態資源,例如 .jar 文件或二進制文件。CATALINA_BASE 位置包含配置文件、日誌文件、部署的應用程序以及其他運行時要求。

爲什麼使用 CATALINA_BASE

默認情況下,CATALINA_HOME 和 CATALINA_BASE 指向同一個目錄。當您需要在一臺機器上運行多個 Tomcat 實例時,手動設置 CATALINA_BASE。這樣做有以下好處:

  • 更容易管理升級到較新版本的 Tomcat。因爲所有具有單個 CATALINA_HOME 位置的實例共享一組 .jar 文件和二進制文件,您可以輕鬆地將文件升級到較新版本,並將更改傳播到使用相同 CATALIA_HOME 目錄的所有 Tomcat 實例。
  • 避免重複使用相同的靜態 .jar 文件。
  • 可以共享某些設置,例如 setenv shell 或 bat 腳本文件(取決於您的操作系統)。

CATALINA_BASE 的內容

在開始使用 CATALINA_BASE 之前,請先考慮並創建 CATALINA_BASE 使用的目錄樹。請注意,如果您沒有創建所有推薦的目錄,Tomcat 將自動創建這些目錄。如果它無法創建所需的目錄,例如由於權限問題,Tomcat 將無法啓動,或者可能無法正常工作。

考慮以下目錄列表:

  • 包含 setenv.sh、setenv.bat 和 tomcat-juli.jar 文件的 bin 目錄。
    • 推薦:否。
    • 查找順序:首先檢查 CATALINA_BASE;然後回退到 CATALINA_HOME。
  • 包含要添加到類路徑的其他資源的 lib 目錄。
    • 推薦:是,如果您的應用程序依賴於外部庫。
    • 查找順序:首先檢查 CATALINA_BASE;其次加載 CATALINA_HOME。
  • 用於特定實例日誌文件的 logs 目錄。
    • 推薦:是。
  • 用於自動加載的 Web 應用程序的 webapps 目錄。
    • 推薦:是,如果您要部署應用程序。
    • 查找順序:僅檢查 CATALINA_BASE。
  • 包含已部署的 Web 應用程序的臨時工作目錄的 work 目錄。
    • 推薦:是。
  • JVM 用於臨時文件的 temp 目錄。
    • 推薦:是。

我們建議您不要更改 tomcat-juli.jar 文件。但是,如果您需要自己的日誌記錄實現,可以將 tomcat-juli.jar 文件替換爲特定 Tomcat 實例的 CATALINA_BASE 位置。

我們還建議您將所有配置文件從 CATALINA_HOME/conf 目錄複製到 CATALINA_BASE/conf/ 目錄。如果在 CATALINA_BASE 中缺少配置文件,將不會回退到 CATALINA_HOME。因此,這可能會導致失敗。

至少,CATALINA_BASE 必須包含:

  • conf/server.xml
  • conf/web.xml
    • 包括 conf 目錄。否則,Tomcat 將無法啓動,或無法正常工作。

有關高級配置信息,請參閱 RUNNING.txt 文件。

如何使用 CATALINA_BASE

CATALINA_BASE 屬性是一個環境變量。您可以在執行 Tomcat 啓動腳本之前設置它,例如:

  • 在 Unix 上:CATALINA_BASE=/tmp/tomcat_base1 bin/catalina.sh start
  • 在 Windows 上:CATALINA_BASE=C:\tomcat_base1 bin/catalina.bat start

配置 Tomcat

本節將向您介紹在配置容器期間使用的基本信息。

所有配置文件中的信息都在啓動時讀取,這意味着對文件的任何更改都需要重新啓動容器。

尋求幫助

雖然我們已盡力確保這些文檔寫得清晰易懂,但我們可能會漏

掉一些內容。以下是一些網站和郵件列表,以防您遇到困難。

請注意,一些問題和解決方案在不同版本的 Tomcat 之間可能會有所不同。

在網絡上搜索時,會有一些文檔與 Tomcat 11 無關,而僅與早期版本有關。

  • 當前文檔 - 大多數文檔將列出潛在的問題。請務必徹底閱讀相關文檔,這將節省您大量的時間和精力。沒有什麼比搜索網絡更好的了,只是發現答案一直在您眼前!
  • Tomcat FAQ
  • Tomcat Wiki
  • jGuru 的 Tomcat FAQ
  • Tomcat 郵件列表檔案 - 許多網站存檔了 Tomcat 郵件列表。由於鏈接隨時間而變化,請點擊此處搜索 Google。
  • TOMCAT-USER 郵件列表 - 您可以在此訂閱。如果您沒有收到回覆,那麼您的問題可能已在列表存檔或常見問題解答中得到了解答。儘管有時會提出並回答一般的 Web 應用程序開發問題,但請將您的問題重點放在 Tomcat 特定問題上。
  • TOMCAT-DEV 郵件列表 - 您可以在此訂閱。此列表專用於討論 Tomcat 本身的開發。有關 Tomcat 配置以及開發和運行應用程序時遇到的問題,通常更適合在 TOMCAT-USER 列表上討論。

如果您認爲文檔中應該包含某些內容,請務必在 TOMCAT-DEV 列表上讓我們知道。

參考資料

https://tomcat.apache.org/tomcat-11.0-doc/introduction.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章