如何在 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 應用程式。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP