一、基本概念
我覺得如果剛接觸Weblogic,首先應該做的是明白幾個基本的概念,可以從一張圖入手:
1. 域(domain)
- 它是一個基本管理單元;
- 每個域包含一個管理服務器(Administration)和若干被管理服務器(Managed Server);
可以看出,域是一個邏輯上的概念,它是服務器的容器。一個域有且只有一個管理服務器。
2. 服務器(Server)
服務是JVM的一個實例,在機器上運行,且擁有自己的內存空間。
(1) Administration Server(管理服務器)
是控制整個域配置的中心操作節點,管理服務器維護着整個域Domain 的配置並將配置分配到每個被管理服務器Managed Server 中,每個域中都必須有一個Administration Server。
(2) Managed Server(被管理服務器)
是一個WebLogicServer的實例,他從Admin Server那里獲取配置信息。通常在Managed Server上部署自己的服務、組件或應用。
3. 機器(machine)
機器是物理上的概念,代表一台運行WebLogic應用服務器的實在的機器,包括其IP地址等信息。一個域中可以包括多台機器。
本文暫時不涉及到多部機器的部署,作為范例只是在同部機器上增加一個新的服務。
名稱 |
IP |
端口 |
說明 |
AdminServer |
192.168.1.208 |
7001 |
管理服務 |
FetchServer |
192.168.1.208 |
7200 |
提供應用服務 |
二、具體操作
1. 新增服務
在環境-服務器上,新建一個服務器。
填寫服務器名稱和監聽端口。
完成。
2. 安裝web應用
部署-安裝。
選擇war包。
安裝為應用程序。
選擇部署目標。
修改名稱及源可訪問性。指定訪問位置,是為了修改了war文件之后,服務能夠實時更新。
完成,最后保存,如果是生產模式,需要激活更改。
3. 啟動服務器
在…user_projects/domains/base_domain/bin文件夾中,有一個名為startManagedWebLogic.sh的腳本,用來啟動被管理的服務器,查看這個文件,主要使用方法為:
./startManagedWebLogic.sh ServerName {ADMIN_URL}
其中ADMIN_URL為管理服務器的URL,在我的例子中,具體命令為:
/weblogic/bea/user_projects/domains/base_domain/bin/startManagedWebLogic.sh FetchServer http://192.168.1.208:7001
執行命令,中間會要求輸入域的管理賬號密碼。
通過管理頁面的環境-服務器,可以看到新建的服務已經運行起來了,健康狀況ok。
通過部署頁面,可以看到應用正在運行,而且健康狀況ok。
通過默認的訪問鏈接進行測試,一切正常!
4. 免密啟動服務器
總體流程已經走完了,但是每次啟動服務器的時候需要輸入賬號與密碼的話會非常麻煩,所以我們需要做到免密啟動服務器。關於服務器免密啟動的,可以參考博文:https://www.cnblogs.com/vincenshen/p/8734654.html 最后部分:
2、保存用戶名和密碼信息到boot.properties文件中,在AdminServer和ManagedServer的目錄下(例如:/home/oracle/u01/Middleware/user_projects/domains/portal_domain/servers/AdminServer/),新建security文件夾,並在其中創建boot.properties文件,填入如下內容:
username=weblogic password=password(待服務器啟動一次之后會自動進行加密)
實際上,啟動服務后,我們在…/user_projects/domains/base_domain/servers目錄下可以看到已經創建了FetchServer服務器的文件夾了:
只要把AdminServer的security文件夾拷貝到FetchServer就行了:
cp -R AdminServer/security FetchServer/
再次啟動的時候就不用手動輸入賬號密碼了。
5. 關閉受管理服務器
使用…/user_projects/domains/base_domain/bin目錄下的stopManagedWebLogic.sh進行關閉,用法和開啟服務那個差不多:
./stopManagedWebLogic.sh FetchServer t3://192.168.1.208:7001 管理賬號 管理密碼
三、參考
1. weblogic服務器下一個domain建多個server(端口)
(完)