一、演示環境:
IP | OS | JDK | WebLogic | 內存 | 服務器角色 | 端口 |
192.168.1.144 | CentOS 7.5 x86_64 | jdk-8u192-linux-x64.rpm | fmw_12.2.1.3.0_wls.jar | 8G | 管理服務器 受管服務器 | 7001 8011 |
192.168.1.145 | CentOS 7.5 x86_64 | jdk-8u192-linux-x64.rpm | fmw_12.2.1.3.0_wls.jar | 8G | 受管服務器 | 8012 |
軟件下載地址:
Ø JDK:https://×××w.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Ø WebLogic:https://×××w.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
二、準備工作(2個server都要執行):
1、關閉SELinux和firewalld
2、2個server時間同步:# date 112115382018.30
3、安裝配置JDK:
# rpm -ivh jdk-8u192-linux-x64.rpm
# vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/java/latest
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# . /etc/profile.d/jdk.sh
# java -version
# vim /usr/java/latest/jre/lib/security/java.security
將securerandom.source=file:/dev/random註釋,修改爲:securerandom.source=file:/dev/./urandom
4、配置主機名:
# vim /etc/hosts --> 192.168.1.144 server1
# vim /etc/hostname --> server1
# hostnamectl set-hostname server1
# hostname server1
# logout
Ctrl + Shift + r
# hostname
備註:server2只要將IP修改爲192.168.1.145,主機名修改爲server2
5、創建weblogic用戶和組:
# groupadd weblogic
# useradd -g weblogic weblogic
# echo "weblogic2018" | passwd --stdin weblogic
6、創建安裝時所需目錄,並賦予權限:
# mkdir -pv /app/weblogic
# chown -R weblogic.weblogic /app/weblogic
7、安裝配置VNC Server:
(1)安裝VNC服務端:# yum -y install tigervnc-server
(2)安裝桌面環境:
# yum -y groupinstall "X Window System"
# yum -y install gnome-classic-session gnome-terminal control-center liberation-mono-fonts
(3)啓用圖形界面:# systemctl set-default graphical.target
(4)修改配置文件:
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
# vim /etc/systemd/system/vncserver@:1.service,修改如下3處代碼:
# systemctl daemon-reload
(5)啓動VNC服務端,並設置連接密碼:# vncserver
(6)啓動VNC服務端:# systemctl start vncserver@:1.service
(7)驗證VNC服務端是否成功啓動:# ss -tunlp | grep vnc
(8)設定VNC服務端開機自啓:# systemctl enable vncserver@:1.service
(9)本地Windows 10中使用VNC客戶端工具VNC Viewer,輸入VNC服務端的IP地址:1即可進行連接。默認第一個端口是5901,第二個端口是5902,以此類推
備註:遇到上述顯示的桌面色彩模糊,可按如下方式操作
備註:server2將IP修改爲192.168.1.145,操作方式同server1
三、server1安裝WebLogic 12c,並創建域(特別注意server2只要安裝WebLogic 12c):
在server1的VNC遠程終端中執行如下操作:
# export DISPLAY=localhost:1
# xdpyinfo | grep "name of display" --> name of display: localhost:1
# xhost + --> access control disabled, clients can connect from any host
# chmod +x fmw_12.2.1.3.0_wls.jar
# su - weblogic
$ export DISPLAY=localhost:1
$ xdpyinfo | grep "name of display" --> name of display: localhost:1
$ java -jar fmw_12.2.1.3.0_wls.jar
備註:如果需要重建域
Ø 刪除原有域:$ rm -rf /app/weblogic/Oracle_Home/user_projects/domains/test_domain
Ø 創建域:$ /app/weblogic/Oracle_Home/oracle_common/common/bin/config.sh
四、server2安裝WebLogic 12c(不要創建域):
安裝過程和server1完全相同,不要創建域:
五、server1打包域,併發送至server2:
server1:
# su - weblogic
$ /app/weblogic/Oracle_Home/oracle_common/common/bin/pack.sh -domain=/app/weblogic/Oracle_Home/user_projects/domains/test_domain -template=/tmp/test_domain.jar -template_name="test_domain" -managed=true
$ scp /tmp/test_domain.jar [email protected]:/tmp
server2:
# su - weblogic
$ /app/weblogic/Oracle_Home/oracle_common/common/bin/unpack.sh -domain=/app/weblogic/Oracle_Home/user_projects/domains/test_domain -template=/tmp/test_domain.jar
六、server1配置AdminServer後臺運行,並優化JVM參數:
1、首次前臺運行AdminServer:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startWebLogic.sh,運行過程中需要輸入用戶名:weblogic,密碼:weblogic2018
看到如下提示信息,說明AdminServer運行成功:
2、Xshell中複製當前會話,查看AdminServer運行時的JVM參數:$ ps -ef | grep java | grep -v grep
3、配置AdminServer後臺運行:
Ctrl + c結束前臺運行的AdminServer
首次運行AdminServer後,會自動在test_domain目錄下創建servers/AdminServer目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/AdminServer
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
4、優化JVM參數:
修改如下2個腳本中的JVM參數,都可以達到優化效果:
Ø $ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/startWebLogic.sh
Ø $ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/setDomainEnv.sh
startWebLogic.sh會調用setDomainEnv.sh,所以優先級比setDomainEnv.sh高
此處選擇修改startWebLogic.sh
(1)trap 'stopAll' 1 2 3 15上方加入代碼:MEM_ARGS="-Xms2048m -Xmx2048m"
(2)如果應用程序需要在網頁中顯示驗證碼,則增加JVM參數-Djava.awt.headless=true
將SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"修改爲
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
5、後臺運行AdminServer:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startWebLogic.sh & //日誌會被記錄在自動創建的nohup.out文件中
$ tail -2 nohup.out
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/AdminServer/security
$ cat boot.properties //之前明文顯示的用戶名和密碼已加密
備註:關閉AdminServer的2種方法
Ø $ kill -9 進程號
Ø $ /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/stopWebLogic.sh
6、查看優化後AdminServer的JVM參數:$ ps -ef | grep java | grep -v grep
7、瀏覽器中輸入http://192.168.1.144:7001/console打開控制檯,並輸入用戶名weblogic和密碼weblogic2018:
備註:修改控制檯用戶登錄密碼
點擊左側“鎖定並編輯”--> 安全領域 --> 右側默認領域“myrealm”-->“用戶和組”標籤 --> 下方“用戶”標籤 -->“weblogic”用戶 -->“口令”標籤 --> 輸入並確認新口令 --> 保存
七、配置集羣(2種方法均可實現,2選1):
AdminServer爲默認的域管理服務器,如果是非集羣環境,可以直接把應用程序部署至AdminServer下;如果是集羣環境,則AdminServer僅作爲管理集羣servers使用。
點擊“定製此表”,方便查看:
Ø 通過startManagedWebLogic.sh:
1、配置server1後臺運行:
(1)首次前臺運行server1:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startManagedWebLogic.sh server1,運行過程中需要輸入用戶名:weblogic,密碼:weblogic2018
看到如下提示信息,說明server1運行成功:
(2)配置server1後臺運行:
Ctrl + c結束前臺運行的server1
首次運行server1後,會自動在test_domain/servers目錄下創建server1目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/server1
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)後臺運行server1:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startManagedWebLogic.sh server1 >> nohup.server1 &
//日誌會被記錄在自動創建的nohup.server1文件中
$ tail -2 nohup.server1
$ ps -ef | grep java | grep -v grep
2、配置server2後臺運行:
(1)首次前臺運行server2:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ ./startManagedWebLogic.sh server2 http://192.168.1.144:7001
運行過程中需要輸入用戶名:weblogic,密碼:weblogic2018
看到如下提示信息,說明server2運行成功:
(2)配置server2後臺運行:
Ctrl + c結束前臺運行的server2
首次運行server2後,會自動在test_domain目錄下創建servers/server2目錄
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/servers/server2
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)優化JVM參數:$ vim /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin/startWebLogic.sh
Ø trap 'stopAll' 1 2 3 15上方加入代碼:MEM_ARGS="-Xms2048m -Xmx2048m"
Ø 如果應用程序需要在網頁中顯示驗證碼,則增加JVM參數-Djava.awt.headless=true
將SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"修改爲
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
(4)後臺運行server2:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startManagedWebLogic.sh server2 http://192.168.1.144:7001 >> nohup.server2 &
//日誌會被記錄在自動創建的nohup.server2文件中
$ tail -2 nohup.server2
$ ps -ef | grep java | grep -v grep
備註:通過startManagedWebLogic.sh不必配置控制檯“環境”--> 計算機
Ø 通過startNodeManager.sh(節點管理器):
停止正在運行的server1和server2
修改machine1配置:左側“環境”--> 計算機 --> 右側“machine1”-->“節點管理器”標籤 --> 將類型修改爲“普通”--> 保存 --> 左上方“激活更改”
machine2同理
1、server1中啓動節點管理器:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/nodemanager
$ vim nodemanager.properties
ListenAddress=192.168.1.144
SecureListener=false
weblogic.StartScriptEnabled=true
$ vim /app/weblogic/Oracle_Home/oracle_common/common/bin/commBaseEnv.sh
修改爲:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startNodeManager.sh &
$ tail -2 nohup.out
$ ps -ef | grep java | grep -v grep
查看machine1中節點管理器狀態:左側“環境”--> 計算機 --> 右側“machine1”-->“監視”標籤 --> 節點管理器狀態
2、server2中啓動節點管理器:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/nodemanager
$ vim nodemanager.properties
ListenAddress=192.168.1.145
SecureListener=false
weblogic.StartScriptEnabled=true
$ vim /app/weblogic/Oracle_Home/oracle_common/common/bin/commBaseEnv.sh
修改爲:
$ cd /app/weblogic/Oracle_Home/user_projects/domains/test_domain/bin
$ nohup ./startNodeManager.sh &
$ tail -2 nohup.out
$ ps -ef | grep java | grep -v grep
查看machine2中節點管理器狀態:左側“環境”--> 計算機 --> 右側“machine2”-->“監視”標籤 --> 節點管理器狀態
3、 通過控制檯啓動server1和server2:
左側“環境”--> 服務器 --> 右側“控制”標籤 --> 勾選“server1”和“server2”--> 啓動 --> 是
server1:$ ps -ef | grep java | grep -v grep
server2:$ ps -ef | grep java | grep -v grep
總結:
集羣配置方式 | 執行命令位置 | 是否需要在控制檯中新建“計算機” | 能否通過控制檯操作受管服務器 |
startManagedWebLogic.sh | 每一個受管服務器 | 否 | 不能 |
startNodeManager.sh | 每一個受管服務器 | 是 | 能 |
八、部署應用程序:
1、安裝應用程序:
將測試用的test.war上傳至server1的/tmp目錄下
左側“部署”--> 右側“安裝”--> 找到/tmp/test.war --> 下一步
將此部署安裝爲應用程序 --> 下一步
集羣中的所有服務器 --> 下一步
下一步
完成 --> 左上方“激活更改”
2、啓動應用程序:
左側“部署”--> 右側“控制”標籤 --> 勾選應用程序 --> 啓動(爲所有請求提供服務)--> 是
3、訪問應用程序:
瀏覽器中訪問http://192.168.1.144:8011/test
瀏覽器中訪問http://192.168.1.145:8012/test
九、配置一般數據源:
1、停止正在運行的server1和server2
2、新建一般數據源:
左側“服務”--> 數據源 --> 新建(一般數據源)--> 修改JDBC數據源名稱、JNDI名稱、選擇數據庫類型 --> 下一步
按照實際情況選擇數據庫驅動程序 --> 下一步
按照Navicat中的數據庫配置信息填寫數據庫名稱、主機名、端口、數據庫用戶名和密碼 --> 下一步
測試配置 --> 下一步
下一步
集羣中的所有服務器 --> 完成 --> 左上方“激活更改”
3、啓動server1和server2