本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂 Tomcat 伺服器 Layer
重要
AWS OpsWorks Stacks 服務已於 2024 年 5 月 26 日終止,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問,請透過 AWS re:Post
注意
本主題說明如何實作 Linux 堆疊的自訂 layer。不過,基本原則和部分程式碼經改寫後也能用於實作 Windows 堆疊的自訂 layer,特別是應用程式部署一節的內容。
在 Stacks AWS OpsWorks 執行個體上使用非標準套件的最簡單方法是擴展現有的 layer。但是,此方法會在 layer 的執行個體上同時安裝及執行標準和非標準套件,而這並非是您所想要的。有一種要求較高也更強大的方式,便是實作自訂 layer,讓您幾乎可以完全控制 layer 的執行個體,包含下列項目:
-
要安裝的套件
-
每個套件的設定方式
-
從儲存庫將應用程式部署到執行個體的方式
無論您是使用主控台還是 API,您建立和管理自訂 layer 的方式與其他 layer 幾乎一模一樣,如自訂 Layer所述。但是,自訂 layer 的內建配方會執行一些非常基本的任務,例如安裝 Ganglia 用戶端以將指標報告給 Ganglia 主機。若要使自訂 layer 執行個體不僅具有最低限度的功能,您必須使用 Chef 配方和相關檔案實作一或多個自訂技術指南,以處理安裝及設定套件、部署應用程式等任務。但您不一定需要從頭開始實作所有東西。例如,若您在其中一個標準儲存庫中存放應用程式,您可以使用內建的部署配方處理在 layer 的執行個體上安裝應用程式的大部分工作。
注意
如果您是第一次使用 Chef,建議您先閱讀技術指南 101,該教學介紹如何實作技術指南以執行各種常見任務的基本概念。
下列演練說明如何實作支援 Tomcat 應用程式伺服器的自訂 layer。layer 是以名為 Tomcat 的自訂技術指南為基礎,其中包含處理套件安裝、部署等的配方。演練包含摘錄自 Tomcat 技術指南的摘要。您可以從其 GitHub 儲存庫
注意
AWS OpsWorks Stacks 包含用於生產的全功能 Java App Server layer。Tomcat 技術指南的目的是示範如何實作自訂 layer,使其支援 Tomcat 限制版本 (不包含諸如 SSL 等功能)。如需完整實作的範例,請參閱內建的 opsworks_java
Tomcat 技術指南支援執行個體具有下列特性的自訂 layer:
-
他們支援使用 Apache 前端的 Tomcat Java 應用程式伺服器。
-
Tomcat 設定為允許應用程式使用 JDBC
DataSource
物件連線到單獨的 MySQL 執行個體,該執行個體做為後端資料存放區。
此專案的技術指南涉及幾項主要元件:
最後一節 說明如何建立堆疊,其中包含以 Tomcat 技術指南為基礎的自訂 layer建立堆疊和執行應用程式,以及如何部署和執行簡單的 JSP 應用程式,以顯示在屬於個別 MySQL layer 的執行個體上執行的 MySQL 資料庫的資料。
注意
Tomcat 技術指南配方取決於一些 Stacks AWS OpsWorks 內建配方。為使每個配方的來源更為清晰,本主題會使用 Chef cookbookname::recipename 慣例識別配方。