全部產品
Search
文件中心

Elastic Compute Service:部署Java Web環境(Tomcat)

更新時間:Dec 19, 2025

方案選擇

  • 自動化部署 (Terraform):單擊一鍵運行,進入Terraform Explorer查看並執行Terraform代碼,Terraform 將自動建立並配置好包含一台 ECS 執行個體、公網 IP 和相應安全性群組規則的完整環境。

  • 手動部署:如已購買ECS執行個體,希望控制部署過程、瞭解部署細節,請按照以下步驟操作。

準備工作

  1. 開通公網:為執行個體分配固定公網IP地址或綁定Elastic IP Address(EIP)。

  2. 添加安全性群組規則

    • Linux:入方向允許存取 TCP 協議的22(SSH)8080(Tomcat)連接埠。

    • Windows:入方向允許存取 TCP 協議的3389(RDP)8080(Tomcat)連接埠。

  3. 手動部署OpenJDK:為伺服器安裝Java運行環境(JVM)和開發套件。

操作步驟

Linux

步驟一:下載並安裝Tomcat

  1. 登入ECS執行個體。

    1. 訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。

    2. 進入目標執行個體詳情頁,單擊遠端連線,選擇通過Workbench遠端連線。根據頁面提示登入,進入終端頁面。

  2. 下載並解壓Tomcat安裝包。

    以Tomcat v9.0.91為例,如需安裝其他版本,可訪問Tomcat官網擷取下載地址,替換命令中的URL。

    # 下載Tomcat安裝包
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz  --no-check-certificate 
    
    # 解壓到/usr/local目錄
    sudo tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/
  3. 建立軟連結。

    升級版本時,只需修改此軟連結的指向即可,無需更改服務組態檔。
    sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat

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

將Tomcat配置為systemd服務,實現開機自啟動。

  1. 擷取 JDK 路徑。

    sudo readlink -f $(which java)
    • JDK 8:返迴路徑中jre目錄的上一級為JDK的正確路徑。

    • JDK 11+:返迴路徑即為JDK的正確路徑。

  2. 建立tomcat.service服務檔案。

    JDK_PATH需替換為上一步擷取的JDK路徑。

    sudo tee /etc/systemd/system/tomcat.service > /dev/null <<'EOF'
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    
    Environment="JAVA_HOME=JDK_PATH"
    Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"
    Environment="CATALINA_HOME=/usr/local/tomcat"
    Environment="CATALINA_BASE=/usr/local/tomcat"
    
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
  3. 啟動並設定Tomcat服務開機自啟。

    # 重新載入 systemd 配置,使新服務檔案生效
    sudo systemctl daemon-reload
    # 啟動 Tomcat 服務
    sudo systemctl start tomcat
    # 設定 Tomcat 服務開機自啟動
    sudo systemctl enable tomcat

步驟三:驗證部署結果

  1. 檢查服務狀態

    sudo systemctl status tomcat

    若返回active(running),說明Tomcat啟動成功。

  2. 訪問驗證

    在本地瀏覽器地址欄中輸入 http://<ECS執行個體公網IP>:8080。如果成功顯示Tomcat歡迎頁面,則說明Java Web環境已部署成功。

    image

Windows

以64 位元 Windows Server 2022 部署Tomcat 9.0.113為例。

步驟一:安裝與配置Tomcat

  1. 登入ECS執行個體。

    1. 訪問ECS控制台-執行個體。在頁面左側頂部,選擇目標資源所在的資源群組和地區。

    2. 進入目標執行個體詳情頁,單擊遠端連線,選擇通過Workbench遠端連線。選擇串連方式為終端串連,輸入帳號和密碼,登入圖形化終端頁面。

  2. 下載Tomcat 9.0.113並解壓。

    建議將壓縮包解壓到不含中文字元的路徑,例如 C:\Java\apache-tomcat-9.0.97,以避免潛在的路徑識別問題。

    如需其他版本,請訪問Tomcat官網,選擇相應的版本,下載並解壓安裝包。

    image

  3. 配置環境變數。

    1. 按右鍵此電腦,選擇屬性 > 進階系統設定 > 環境變數

    2. 系統變數地區,單擊建立,建立CATALINA_HOME系統變數,變數值為Tomcat解壓路徑,完成後單擊確定

      image

    3. 系統變數中找到Path變數,選中並單擊編輯

      image

    4. 編輯環境變數中單擊建立,添加%CATALINA_HOME%\bin,單擊確定,儲存配置。

      image

步驟二:將Tomcat安裝為Windows服務並啟動

將Tomcat安裝為Windows服務,而不是使用startup.bat臨時運行,可以讓Tomcat在後台穩定運行並實現開機自啟。

  1. 安裝服務。

    以管理員身份開啟命令提示字元,切換到Tomcat的bin目錄,執行安裝命令。

    service.bat install Tomcat9

    若返回資訊提示The service 'Tomcat9' has been installed.,表示安裝成功。

    Tomcat9是自訂的服務名稱,後續管理服務時將使用此名稱。
  2. 啟動服務並設定為自動啟動。

    1. 按右鍵開始,然後單擊運行,輸入services.msc並斷行符號,開啟服務管理員。

    2. 找到Apache Tomcat 9.0 Tomcat9服務,按右鍵該服務,選擇屬性,將啟動類型設定為自動,然後單擊啟動

    若日誌中出現中文亂碼,請參考Tomcat的日誌資訊顯示中文亂碼

步驟三:驗證部署結果

在本地瀏覽器地址欄中輸入http://<ECS執行個體公網IP>:8080。如果顯示Tomcat歡迎頁面,說明Java Web環境已部署成功。

image

後續步驟

上傳 Web 專案

使用Workbench上傳或下載檔案,將一個Web應用程式(.war檔案)上傳到Tomcat的網站根目錄(預設為webapps),Tomcat會自動檢測並部署WAR檔案。

部署後,可通過http://<公網IP>:8080/<專案名>訪問應用。

配置Tomcat

修改設定檔

  1. 進入Tomcat安裝目錄下的conf檔案夾,開啟server.xml檔案。

  2. 修改Tomcat的相關配置。

    • Tomcat預設使用8080連接埠,如需修改連接埠號碼,可以修改port的屬性值。

      修改連接埠後,需在執行個體的安全性群組中添加安全性群組規則允許存取修改後的連接埠。

      image

    • Tomcat預設的網站根目錄為webapps,如需修改Tomcat的網站根目錄,可以修改appBase的屬性值。

      image

設定Tomcat的JVM記憶體參數

Linux

  1. 建立setenv.sh檔案,通過setenv.sh檔案集中管理JVM參數。

    請根據ECS執行個體規格和應用負載調整JVM初始堆和最大堆記憶體。

    sudo tee /usr/local/tomcat/bin/setenv.sh > /dev/null <<'EOF'
    #!/bin/bash
    # 樣本:適用於2GB記憶體的ECS,分配512MB
    JAVA_OPTS="-server -Xms512m -Xmx512m"
    export JAVA_OPTS
    EOF
  2. 為該檔案添加可執行許可權並設定所有權。

    sudo chmod +x /usr/local/tomcat/bin/setenv.sh
  3. 重啟Tomcat,使配置生效。

Windows

  1. 進入Tomcat安裝目錄下的bin檔案夾,開啟catalina.bat檔案。

  2. 添加或修改JVM參數。

    在檔案靠前的位置(通常在setlocal之後,call "%CATALINA_HOME%\bin\setenv.bat"之前)添加或修改JAVA_OPTS 。請根據ECS執行個體規格和應用負載調整JVM初始堆和最大堆記憶體。

    # 樣本:適用於2GB記憶體的ECS,分配512MB
    set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m"
    如果已有JAVA_OPTS,直接在後面追加參數(注意不同參數之間需留有空格)。
  3. 重啟Tomcat,使配置生效。

應用於生產環境建議

在生產環境中,為了減少安全風險,建議在部署成功後執行以下操作。

  1. 刪除預設應用 

    為了減少潛在的攻擊面,建議刪除 webapps 目錄下的所有預設樣本應用(docsexamplesmanagerhost-manager)。

    • Linuxsudo rm -rf /usr/local/tomcat/webapps/*

    • Windows: 通過檔案總管手動刪除 CATALINA_HOME\webapps 目錄下的所有子目錄。

  2. 配置 HTTPS 

    生產環境應使用HTTPS,需在Tomcat伺服器安裝SSL認證(Linux),使用Nginx 、負載平衡(SLB)作為反向 Proxy來處理HTTPS請求。

常見問題

瀏覽器訪問逾時或顯示“無法訪問此網站”

  • 檢查安全性群組:檢查ECS執行個體的安全性群組入方向規則是否已允許存取8080連接埠。

  • 檢查作業系統防火牆:檢查作業系統內部的防火牆(如firewalldWindows Defender Firewall)是否關閉或已允許存取8080連接埠。

  • 檢查連接埠監聽:確認8080連接埠正被Tomcat監聽。

    • Linuxss -lntp | grep 8080

    • Windowsnetstat -ano | findstr ":8080"

Tomcat啟動失敗

  1. 查看日誌:Tomcat的主要日誌位於其安裝目錄下的logs檔案夾中。查看catalina.out(Linux)或catalina.<date>.log(Windows)和localhost.<date>.log檔案,若日誌中出現Address already in use錯誤,表示連接埠已被其他程式佔用。詳情請參見能ping通ECS執行個體但連接埠不通的排查方法

  2. JDK路徑錯誤:檢查Java的環境變數JAVA_HOME配置是否正確。

Tomcat的日誌資訊顯示中文亂碼

該問題通常是由於Windows命令提示字元(CMD)的預設編碼(GBK)與Tomcat日誌輸出的編碼(通常是UTF-8)不一致導致的。

  1. 開啟Tomcat安裝目錄下的conf檔案夾,找到並編輯logging.properties檔案。

  2. 將檔案中所有預設的編碼UTF-8修改為GBK

  3. 儲存檔案並重新啟動Tomcat,驗證日誌中的中文是否亂碼。