如何在 CentOS 8/7 中安裝和配置 Apache Tomcat 9?


Apache Tomcat 是一款流行的開源 Web 伺服器和 Servlet 容器,廣泛用於部署基於 Java 的 Web 應用程式。本文將向您展示如何在 CentOS 8/7 上安裝和配置 Apache Tomcat 9。

步驟 1:安裝 Java

安裝 Apache Tomcat 的第一步是安裝 Java。Tomcat 需要安裝 Java 開發工具包 (JDK) 版本 8 或更高版本。您可以透過執行以下命令檢查系統上已安裝的 Java 版本:

java -version

如果您的系統上未安裝 Java,您可以透過執行以下命令進行安裝:

sudo dnf install java-1.8.0-openjdk-devel

這將安裝 OpenJDK 8 開發工具包,這是 Tomcat 9 推薦的 Java 版本。

步驟 2:下載並安裝 Apache Tomcat

安裝 Java 後,您可以從 Apache 官方網站下載 Apache Tomcat 9 的最新版本。您可以使用以下命令下載 Tomcat 9 歸檔檔案:

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.59/bin/apache-tomcat-9.0.59.tar.gz

下載完成後,使用以下命令解壓 Tomcat 歸檔檔案:

tar -xzf apache-tomcat-9.0.59.tar.gz

這將把 Tomcat 檔案解壓到名為 apache-tomcat-9.0.59 的目錄中。

步驟 3:配置 Tomcat

預設情況下,Tomcat 監聽埠 8080。如果要更改此埠,可以編輯 conf/server.xml 檔案並更改 Connector 元素,如下所示:

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

在此示例中,Tomcat 將監聽埠 80 而不是 8080。

接下來,您可能希望配置 Tomcat 使用不同的埠用於關閉命令。預設情況下,Tomcat 監聽埠 8005 用於關閉命令。您可以透過編輯 conf/server.xml 檔案並更改 Server 元素來更改此埠,如下所示:

<Server port="9005" shutdown="SHUTDOWN">

在此示例中,Tomcat 將監聽埠 9005 用於關閉命令。

步驟 4:啟動 Tomcat

要啟動 Tomcat,請導航到 Tomcat 安裝目錄中的 bin 目錄並執行以下命令:

./startup.sh

這將在後臺啟動 Tomcat。您可以透過開啟 Web 瀏覽器並導航到 https://:8080 來訪問 Tomcat Web 介面。

步驟 5:將 Tomcat 配置為系統服務

如果希望 Tomcat 在系統啟動時自動啟動,可以將其配置為系統服務。為此,請在 /etc/systemd/system/ 目錄中建立一個名為 tomcat.service 的新檔案,內容如下:

[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

儲存檔案,然後重新載入 systemd 守護程序以識別新的服務檔案:

sudo systemctl daemon-reload

然後,啟用 Tomcat 服務以在啟動時自動啟動:

sudo systemctl enable tomcat.service

最後,啟動 Tomcat 服務:

sudo systemctl start tomcat.service

您可以使用以下命令檢查 Tomcat 服務的狀態:

sudo systemctl status tomcat.service

這將顯示 Tomcat 服務是否正在執行。

步驟 6:配置 Tomcat 安全性

預設情況下,Tomcat 不需要身份驗證即可訪問其 Web 介面。這可能存在安全風險,尤其是在 Tomcat 執行在公共網路上的情況下。要保護 Tomcat,可以向 conf/tomcat-users.xml 檔案新增使用者名稱和密碼。開啟檔案並在 <tomcat-users> 和 </tomcat-users> 標記之間新增以下行:

<user username="admin" password="password" roles="manager-gui,admin-gui"/>

在此示例中,使用者名稱為 admin,密碼為 password。您應該將這些值替換為您自己的使用者名稱和密碼。roles 屬性指定分配給使用者的角色。在本例中,使用者同時具有 manager-gui 和 admin-gui 角色,這允許他們透過 Web 介面管理 Tomcat。

儲存對 tomcat-users.xml 檔案的更改後,重新啟動 Tomcat 以使更改生效:

sudo systemctl restart tomcat.service

步驟 7:配置 Tomcat 虛擬主機

虛擬主機允許您在同一 Tomcat 例項上執行多個網站。要配置虛擬主機,請編輯 conf/server.xml 檔案並在 <Host> 元素內新增以下行:

<Host name="example.com" appBase="webapps/example">
   <Context path="" docBase="."/>
</Host>

在此示例中,我們正在為域名 example.com 建立一個虛擬主機,並將目錄 webapps/example 指定為此虛擬主機的應用程式基礎。<Context> 元素設定此虛擬主機的根上下文。

儲存對 server.xml 檔案的更改後,建立目錄 webapps/example 並將您的 Web 應用程式部署到該目錄中。

雖然本文中概述的步驟特定於 CentOS,但可以透過少量修改將其應用於其他 Linux 發行版。此外,在配置 Tomcat 伺服器時,您可能還需要考慮以下幾點:

  • HTTPS - 預設情況下,Tomcat 在埠 8080 上偵聽 HTTP 請求。要啟用 HTTPS,您需要配置 Tomcat 以使用 SSL 證書。您可以按照 Tomcat 文件中提供的說明進行操作。

  • 效能調整 - Tomcat 提供了許多可用於最佳化其效能的配置選項。這些選項包括調整執行緒池大小、設定 JVM 記憶體設定以及最佳化垃圾回收設定。您可以在 Tomcat 文件中找到有關效能調整的更多資訊。

  • 日誌記錄 - Tomcat 提供了一個全面的日誌記錄系統,可用於監視伺服器的效能和活動。您可以透過編輯 conf/logging.properties 檔案來配置日誌記錄系統。

  • 監控 - 為了確保您的 Tomcat 伺服器平穩執行,您可能需要考慮使用 Nagios 或 Zabbix 等監控工具。這些工具可用於監控伺服器效能、跟蹤資源使用情況並提醒您潛在的問題。

  • 檔案許可權 - 安裝和配置 Apache Tomcat 時,務必確保設定了正確的檔案許可權。您可以透過執行以下命令來實現:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh

這些命令確保 tomcat 使用者擁有 Tomcat 安裝目錄,並且 bin 目錄中的指令碼是可執行的。

  • 防火牆 - 為了確保伺服器的安全,務必配置防火牆以允許在適當的埠上進行通訊。例如,要允許在埠 8080 上進行通訊,可以執行以下命令:

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

這將為傳入的 TCP 通訊開啟埠 8080。

  • 備份 - 為了確保伺服器故障或資料丟失時資料安全,務必定期備份 Tomcat 安裝和配置檔案。您可以使用 tar 或 rsync 等工具建立備份,也可以使用 rsnapshot 或 Bacula 等備份工具。

  • 資源限制 - 為了確保您的 Tomcat 伺服器不會消耗過多的資源,您可以限制其可使用的 CPU、記憶體和其他資源的數量。您可以使用 ulimit 命令設定這些限制,也可以使用 cgroups 等工具管理資源使用情況。

  • JMX 監控 - Tomcat 提供了對 JMX 監控的內建支援,允許您使用 JConsole 或 VisualVM 等工具監控 Tomcat 伺服器的效能。要啟用 JMX 監控,可以在 Tomcat 啟動指令碼中新增以下行:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"

然後,您可以使用 JMX 監控工具連線到 Tomcat 伺服器並監控其效能。

  • 連線池 - 連線池可以透過減少建立新資料庫連線相關的開銷來提高 Tomcat 伺服器的效能。Tomcat 透過其 JNDI 資源提供對連線池的內建支援。您可以透過編輯 conf/context.xml 檔案並新增 Resource 元素來配置連線池。

  • 會話永續性 - 預設情況下,Tomcat 將會話資料儲存在記憶體中,如果伺服器崩潰或需要重新啟動,這可能會成為問題。為了確保會話資料在伺服器重新啟動後仍然存在,您可以配置 Tomcat 以使用永續性會話管理器。Tomcat 提供了幾種會話永續性選項,包括基於檔案的儲存、基於 JDBC 的儲存和分散式快取。

透過採取這些額外的步驟,您可以確保您的 Tomcat 伺服器平穩、安全地執行,並針對性能進行了最佳化。

結論

在本文中,我們向您展示瞭如何在 CentOS 8/7 上安裝和配置 Apache Tomcat 9。我們介紹了安裝 Java、下載和安裝 Tomcat、配置 Tomcat、啟動 Tomcat、將 Tomcat 配置為系統服務、保護 Tomcat 以及配置 Tomcat 虛擬主機等步驟。透過這些步驟,您可以設定一個健壯且安全的 Tomcat 伺服器來部署您的 Java Web 應用程式。

更新於: 2023年5月12日

4K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.