WebSphere 中的虛擬主機和配置指南 – 解釋

已發表: 2015-06-07

什麼是虛擬主機以及如何在 WebSphere Application Server (WAS) 中進行配置?

您將在 WAS 部署中聽到的第一個術語是虛擬主機。 你們中的許多人問我有關虛擬主機和配置指南的問題,所以我在這裡解釋了以下內容。

  • 什麼是虛擬主機?
  • 如何創建/配置?
  • 如何更改現有已部署應用程序中的虛擬主機?
  • 與虛擬主機相關的錯誤
  • 最佳實踐

那麼,什麼是虛擬主機?

虛擬主機意味著通過關聯的虛擬主機在單個應用程序上允許多個 URL(例如:example.com、example.net、example.biz、washost:9443、10.10.10.1:9060)。 這可以是基於 IP 的,也可以是基於名稱的。 虛擬主機配置是通過 WAS 管理控制台完成的。

使用虛擬主機,您還可以定義 MIME 類型。 在默認的 WAS 安裝中,您將擁有兩個虛擬主機admin_hostdefault_host ,您可以使用它們,也可以為您的應用程序創建新的。 讓我們看一下虛擬主機的下圖。

虛擬主機是流

所以現在您了解了虛擬主機,接下來是創建和配置它

虛擬主機的創建是通過 WAS 管理控制台完成的,該控制台位於 Environment >> Virtual hosts 下。 讓我們創建一個並命名它——sample_hosts

  • 登錄到 WAS 管理控制台
  • 轉到環境>>虛擬主機
  • 點擊新建

您可以在我上面提到的上述列表中看到兩個內置的虛擬主機。

默認虛擬主機是

  • 輸入名稱——sample_hosts

新的虛擬主機是

  • 點擊確定

所以現在你有了一個新的虛擬主機,是時候配置它了。

您可以執行兩種類型的配置,兩種配置都位於“附加屬性”下的虛擬主機內。

主機別名:在這裡您可以輸入 DNS/主機/IP 名稱和端口,這將被允許使用此虛擬主機訪問應用程序。

  • 轉到環境>>虛擬主機
  • 從列表中選擇虛擬主機
  • 單擊主機別名
  • 點擊新建
  • 輸入主機名和端口
  • 單擊確定並保存/查看配置,這是我創建的

sample_hosts-虛擬主機-was

MIME 類型:在這裡您可以為您的應用程序添加/創建/修改 MIME 類型。 但是,默認情況下,WAS 將創建超過 640 種 MIME 類型,這些類型幾乎涵蓋了任何類型的應用程序。 此默認列表是在您創建任何虛擬主機時創建的。

  • 轉到環境>>虛擬主機
  • 從列表中選擇虛擬主機
  • 單擊 MIME 類型
  • 單擊新建以創建一個。 但是,正如我上面提到的,您很可能不需要創建,因為幾乎所有類型的應用程序都將包含在默認列表中。

所以接下來是在已部署的應用程序中更改虛擬主機

可能存在您必鬚根據應用程序隔離虛擬主機的情況。 以下是如何更改任何應用程序的虛擬主機。

  • 登錄到 WAS 管理控制台
  • 轉到應用程序>> Websphere 企業應用程序
  • 選擇您的應用程序並單擊位於 Web 模塊屬性下的虛擬主機
  • 選擇所需的虛擬主機,然後單擊確定

更改虛擬主機是

  • 單擊查看/保存配置。 您必須重新啟動 JVM 才能反映虛擬主機。

您可能想知道虛擬主機配置存儲在virtualhosts.xml中。 位置可能因環境而異,因此找到 virtualhosts.xml 確切位置的最佳方法是:–

在 UNIX 環境中

查找 / -name virtualhosts.xml

通過 WAS 控制台

當您在虛擬主機中進行任何更改時,它會要求您查看/保存。 單擊 Review,它將顯示虛擬主機的路徑,它將保存配置。

現在是時候解決與虛擬主機相關的舉世聞名的 WebSphere 錯誤了,這很可能是由於未配置或配置錯誤造成的。

與虛擬主機相關的錯誤

尚未定義用於處理 /test 的 WebGroup/虛擬主機 SRVE0255E:尚未定義用於處理localhost : 8080的 WebGroup/虛擬主機。

如果您在訪問應用程序時遇到上述錯誤,那麼您將在幾分鐘內了解如何修復它。

讓我們仔細看看錯誤。 你必須看兩件事,我用紅色突出顯示。

首先- localhost尚未定義

應用程序引發錯誤,因為 localhost 在相應虛擬主機的主機別名中不存在。 因此,快速解決方法是在您的虛擬主機中添加 localhost。

這也可能是當您有多個虛擬主機並且應用程序映射到不正確的虛擬主機時。 因此,您必須檢查配置並確保 localhost 存在於請求的虛擬主機中。

第二——8080端口號

大多數情況下,您將使用 URL 和默認 Http/https 端口配置虛擬主機,即 80 或 443。但是,如果您想使用 JVM 和端口直接訪問應用程序(繞過 Web 服務器),則需要輸入 IP主機別名中的 /Host 和端口詳細信息。

所以要解決這個問題 - 你必須確保將 localhost:8080 添加到虛擬主機,該主機映射到相應的應用程序。

本文的最後一部分——在 WAS 環境中使用虛擬主機的最佳實踐

每個應用程序都是獨一無二的,一種配置在其他應用程序中可能無法正常工作。 但是,您可能會遵循一些對我有所幫助的規則,希望您也一樣。

  • 如果您在一個單元中有多個應用程序,您可以考慮為每個應用程序或至少為一組應用程序使用單獨的虛擬主機。
  • 在進行任何更改之前備份 WebSphere 配置,這樣如果出現問題,您可以恢復到原始狀態而不會損壞。
  • 對虛擬主機進行更改後重新啟動映射的 JVM,以便反映配置。
  • 傳播(如果託管網絡服務器)並生成 Web 服務器插件並重新啟動 Web 服務器以反映配置。
  • 不要將 * 放在主機別名中,因為這意味著允許任何可能導致安全漏洞的 URL。

我希望您現在對 IBM WebSphere Application Server 中的虛擬主機有更好的了解。 這就是今天的全部內容,希望你喜歡。

如果您正在尋找學習 WAS 管理,那麼您可以查看這個 Udemy 課程。