如何在Ubuntu 20.04上安裝Tomcat 10

Apache Tomcat是帶有servlet容器的開源Web服務器,用於發布基於Java的Web應用程序。 Tomcat是在Apache Software Foundation的主持下由開放的開發人員社區開發和維護的。 到目前為止,Tomcat 10是可在開發和生產環境上安裝的最新穩定版本。 要了解有關Apache Tomcat的更多信息,請訪問apache官方網站http://tomcat.apache.org/。

本教程將幫助您如何在Ubuntu 20.04 LTS Linux系統上安裝Apache Tomcat 10。

先決條件

運行中的Ubuntu 20.04系統,具有root用戶或sudo特權帳戶訪問權限的shell訪問權限。

對於新安裝的系統,建議完成初始服務器設置說明。

步驟1 –安裝Java

您必須在系統上安裝JRE(Java運行時環境)。 Tomcat 10需要在系統上安裝JRE 8或更高版本。 使用以下命令來安裝OpenJDK以滿足要求。

sudo apt update 
sudo apt install default-jdk -y 

檢查當前活動的Java版本:

java -version 

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

第2步-創建Tomcat用戶

我們建議使用專用用戶帳戶運行Tomcat服務器。 創建一個新用戶,出於安全性考慮,建議主要用於生產部署。

要創建一個新帳戶,請輸入:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat 

上面的命令將創建一個名稱為“tomcat”在您的系統中。

步驟3 –安裝Tomcat 10

Apache Tomcat開發團隊會不時發布最新版本的Tomcat。 因此,最好從官方下載服務器上下載最新的Tomcat版本。 使用以下命令下載Tomcat 10。

wget https://www-us.apache.org/dist/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz 

下載完成後,解壓縮下載的存檔並將所有內容複製到tomcat主目錄。

sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1 

接下來,設置適當的文件權限。

sudo chown -R tomcat:tomcat /opt/tomcat/ 
sudo chmod -R u+x /opt/tomcat/bin 

現在,您的系統上具有最新的Tomcat應用程序。

步驟4 –創建Tomcat用戶

現在,使用用戶帳戶配置雄貓,以確保對管理員/經理頁面的訪問。 為此,請編輯 conf / tomcat-users.xml 文件添加到編輯器中,然後將以下代碼粘貼到 標記內。 我們建議在以下配置中使用高安全性密碼更改密碼。

sudo nano /opt/tomcat/conf/tomcat-users.xml 

添加以下值。 確保更改用於管理員和管理員訪問的密碼。

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />

保存文件並關閉。

步驟5 –啟用遠程Tomcat訪問

默認的Tomcat管理器和主機管理器應用程序僅可用於localhost訪問。 要允許從遠程系統訪問這些頁面,您需要修改以下配置文件。

您可以允許特定的遠程系統,也可以全部允許。 編輯 context.xml 管理員和主機管理員應用程序的文件:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

注釋掉為IP地址限制而添加的部分,以允許從任何地方進行連接。

<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> -->
  ...
</Context>

同樣編輯 context.xml 對於文本編輯器中的主機管理器應用程序:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

注釋掉同一部分以允許從任何地方進行連接。

<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" /> -->
  ...
</Context>

保存所有文件並關閉它。

步驟6 –創建Tomcat Systemd單元文件

Tomcat提供了bash腳本來啟動,停止服務。 但是,為了簡化起見,請創建一個啟動腳本來將Tomcat作為systemd服務進行管理。 讓我們創建一個具有以下內容的tomcat.service文件:

sudo nano /etc/systemd/system/tomcat.service 
[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

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 start tomcat.service 

接下來,啟用tomcat服務以自動啟動以進行後續系統引導。 這對於生產部署更為重要。

sudo systemctl enable tomcat.service 

截至目前,tomcat應用程序已在您的系統上運行。 您可以通過執行以下命令來驗證服務狀態。 確保狀態顯示為“active (running)”。

sudo systemctl status tomcat.service 
● tomcat.service - Tomcat
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-03-17 10:56:39 IST; 3h 45min ago
    Process: 481049 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 481056 (java)
      Tasks: 29 (limit: 4539)
     Memory: 264.2M
     CGroup: /system.slice/tomcat.service
             └─481056 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file>

Mar 17 10:56:39 tecadmin-ubuntu2004 systemd[1]: Starting Tomcat...
Mar 17 10:56:39 tecadmin-ubuntu2004 startup.sh[481049]: Tomcat started.
Mar 17 10:56:39 tecadmin-ubuntu2004 systemd[1]: Started Tomcat.

步驟7 –訪問Tomcat Web界面

默認的Tomcat服務器運行在端口8080上。在系統上配置Tomcat後,就可以從系統訪問Web界面。 您可以通過輸入服務器的IP地址或指向該服務器的域名來訪問tomcat接口,然後在瀏覽器中輸入端口8080:

改變 tecadmin.local 與您的服務器IP或域或本地主機。

http://tecadmin.local:8080/

您將看到如下頁面:

Tomcat Manager應用程序是與Tomcat服務器應用程序打包在一起的Web應用程序。 Manager界面為我們提供了管理已部署的Web應用程序所需的基本功能。

點擊 Manager App 按鈕主頁或直接鍵入 /manager 在主要Tomcat服務器的瀏覽器URL中進行訪問。

http://tecadmin.local:8080/manager/

Tomcat 10管理器儀錶板

Tomcat Host Manager App是與Tomcat服務器應用程序打包在一起的另一個Web應用程序。 用於在Tomcat服務中創建/刪除虛擬主機。 虛擬主機允許您在單個服務器上定義多個主機名。

點擊 Host Manager 按鈕主頁或直接鍵入 /host-manager Tomcat主服務器中的URL可以訪問它。

http://tecadmin.local:8080/host-manager/

Tomcat 10主機管理器頁面

結論

您在Ubuntu系統上有一個正在運行的Tomcat服務器。 您可能需要在Tomcat中創建虛擬主機或配置SSL證書。

Sidebar