如果您想運行包含Java服務器頁面編碼或Java servlet的網頁,您可以使用Apache Tomcat。它是由Apache Software Foundation發布的開源網絡服務器和servlet容器。
Tomcat可以作為獨立產品使用,搭配其自己的網絡服務器,或者與其他網絡服務器結合,如Apache或IIS。Tomcat的最新版本是9.0.14,它建立在Tomcat 8和8.5的基礎上,並實現了Servlet 4.0、JSP 2.2。
閱讀更多: 如何在CentOS/RHEL中安裝Apache Tomcat 9
新版本中已經進行了以下改進:
- 新增了對HTTP/2的支持。
- 新增了使用OpenSSL與JSSE連接器支持TLS的支持。
- 新增了對TLS虛擬主機(SNI)的支持。
在本教程中,我們將向您展示如何在Ubuntu 18.10和舊版本的Ubuntu上安裝Apache Tomcat 9。
第1步:安裝Java
要運行Java web應用程序,Tomcat需要在服務器上安裝Java。為了滿足這一要求,我們將安裝OpenJDK,如下所示。
$ sudo apt update $ sudo apt install default-jdk
第2步:創建一個Tomcat用戶
出於安全考慮,Tomcat應該以非特權使用者運行,即非 root。這就是為什麼我們將創建一個名為 tomcat 的使用者和群組,來運行服務。首先創建 tomcat 群組:
$ sudo groupadd tomcat
接下來我們將創建一個tomcat 使用者,並將其加入 tomcat 群組。這個使用者的家目錄將設置為/opt/tomcat,因為這是我們將安裝 Tomcat 的地方。shell 設置為/bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
現在我們準備進行下一步,下載 Tomcat。
第 3 步:安裝 Apache Tomcat
要下載最新可用的軟件包,請前往Tomcat 的下載頁面並獲取最新版本。
在編寫本教程時,最新版本的Tomcat是9.0.14。要下載該版本,可以將當前目錄切換到其他目錄。例如,您可以使用/tmp:
# cd /tmp
然後使用wget 命令下載 Tomcat 存檔:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
如果要驗證文件的 sha512 摘要,可以運行:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
這兩個文件的結果值(哈希)應該相同。
如前所述,我們將在/opt/tomcat安裝 Tomcat。我們需要創建該目錄:
$ sudo mkdir /opt/tomcat
現在我們可以在該新目錄中解壓下載的軟件包:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
現在導航到 /opt/tomcat 從那裡我們將更新文件夾所有權和權限:
# cd /opt/tomcat
並將 /opt/tomcat 的群組所有者設置為 tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
接下來我們將更新 tomcat 群組對 conf 目錄的讀取訪問權限並將執行權限設置為該目錄:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
接下來我們將使 tomcat 用戶成為 webapps、work、temp 和 logs 目錄的所有者:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
現在已經設置了正確的權限和所有權,我們準備創建一個 systemd 啟動文件,這將幫助我們管理 Tomcat 進程。
第 4 步:為 Tomcat 創建一個 SystemD 服務文件
因為我們想要將 Tomcat 作為一個服務運行,我們需要一個文件來幫助我們輕鬆管理進程。為此,我們將創建一個 systemd 服務文件。 Tomcat 將需要知道您系統上 Java 的位置。
使用以下命令找到該位置:
$ sudo update-java-alternatives -l
該命令的輸出將顯示 JAVA_HOME 的位置。

現在,使用該信息,我們準備創建我們的 Tomcat 服務文件。
$ sudo vim /etc/systemd/system/tomcat.service
將下面的代碼粘貼到文件中:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
請確保將 JAVA_HOME 設置為您系統的 JAVA_HOME。準備就緒後,保存文件並關閉它。現在,使用以下命令重新加載 systemd 守護進程,以便找到我們的新服務文件:
$ sudo systemctl daemon-reload
然後啟動 Tomcat 服務:
$ sudo systemctl start tomcat
您可以使用以下命令驗證服務狀態:
$ sudo systemctl status tomcat

您可以使用系統的 IP 地址,後跟服務默認端口 8080,在瀏覽器中測試 Tomcat。
http://ip-address:8080
您應該看到的結果類似於下面的圖片:

如果您沒有看到上述輸出,可能需要在防火牆中允許端口 8080。
$ sudo ufw allow 8080
如果您希望 Tomcat 在系統啟動時啟動,運行:
$ systemctl enable tomcat
第 5 步:配置 Apache Tomcat
Tomcat具有預安裝的 Web 管理器應用程序。為了使用它,我們需要在我們的 tomcat-users.xml 文件中設置身份驗證。使用您喜歡的文本編輯器打開並編輯該文件:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
我們將添加一個能夠訪問 管理器 和 管理 接口的用戶。要配置此類用戶,在 <tomcat-users> </tomcat-users>
標籤之間,添加以下行:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
請確保更改:
- 用戶名 – 為您希望進行身份驗證的用戶。
- 密碼 – 為您希望用於身份驗證的密碼。

由於默認情況下訪問 主機管理器 和 管理器 受限,我們將需要刪除或更改這些限制。要進行此類更改,您可以加載以下文件:
對於管理器應用程序:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
對於主機管理器應用程序:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
在這些文件中,您可以註釋IP限制或在其中允許您的公共IP地址。為了這個教程的目的,我已經註釋了這行:

為了使我們的更改生效,重新啟動tomcat服務:
$ sudo systemctl restart tomcat
您現在可以通過訪問http://ipaddress:8080/manager/來測試管理應用程序。在提示輸入用戶名和密碼時,請使用您之前配置的用戶名和密碼。之後您應該看到的界面如下:

要訪問主機管理員,您可以使用http://ip-address:8080/host-manager/。

使用虛擬主機管理員,您可以為您的Tomcat應用程序創建虛擬主機。
第6步:通過創建測試文件來測試Apache Tomcat
您可以通過在/opt/tomcat/webapps/ROOT/目錄中創建一個測試文件來檢查一切是否運行順利。
讓我們創建這樣的文件:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
在該文件中粘貼以下代碼:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
保存文件並設置所有權如下所示。
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
現在通過使用http://ip-address:8080/tecmint.jsp在您的瀏覽器中加載該文件。

就是這樣!您已經完成了Apache Tomcat服務器的設置並運行了您的第一個Java代碼。我們希望這個過程對您來說是簡單而直接的。如果您遇到任何問題,請通過下面的評論表分享您的問題。
Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/