一、演示環境:
IP | OS | JDK | WebLogic | 內存 | 服務器角色 | 端口 |
192.168.1.220 | CentOS 6.10 x86_64 | jdk-7u80-linux-x64.rpm | wls1036_generic.jar | 8G | 管理服務器 受管服務器 | 7001 8011 |
192.168.1.221 | CentOS 6.10 x86_64 | jdk-7u80-linux-x64.rpm | wls1036_generic.jar | 8G | 受管服務器 | 8012 |
軟件下載地址:
Ø JDK:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
Ø WebLogic:https://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
二、準備工作(2個節點都要執行):
1、關閉SELinux和iptables
2、安裝配置JDK:
# rpm -ivh jdk-7u80-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
# vim /usr/java/latest/jre/lib/security/java.security
將securerandom.source=file:/dev/urandom註釋,修改爲:securerandom.source=file:/dev/./urandom
# java -version
===================================================================================
附:JDK 6安裝配置方法
# chmod +x /root/jdk-6u45-linux-x64.bin
# /root/jdk-6u45-linux-x64.bin //會在root目錄中生成名爲jdk1.6.0_45的文件夾
# vim /etc/profile.d/jdk.sh
export JAVA_HOME=/root/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# . /etc/profile.d/jdk.sh
# vim /root/jdk1.6.0_45/jre/lib/security/java.security
將securerandom.source=file:/dev/urandom註釋,修改爲:securerandom.source=file:/dev/./urandom
# java -version
===================================================================================
備註:官方文檔表示WebLogic 11g只支持JDK 6,不兼容JDK 7,WebLogic 11g安裝完成後需要做特殊處理
3、配置主機名:
# vim /etc/hosts --> 192.168.1.220 server1
# vim /etc/sysconfig/network --> HOSTNAME=server1
# hostname server1
# logout
Ctrl + Shift + r
# hostname
備註:節點2只要將192.168.1.220修改爲192.168.1.221,server1修改爲server2
4、創建weblogic用戶和組:
# groupadd weblogic
# useradd -g weblogic weblogic
# echo "weblogic2018" | passwd --stdin weblogic
5、創建安裝時所需目錄,並賦予權限:
# mkdir -pv /app/weblogic
# chown -R weblogic.weblogic /app/weblogic
三、安裝WebLogic 11g(2個節點都要執行):
# chmod +x wls1036_generic.jar
# su - weblogic
$ java -jar wls1036_generic.jar
備註:此處不演示節點2的安裝過程,2個節點安裝方式完全相同
四、配置JDK 7兼容WebLogic 11g(2個節點都要執行):
# mkdir -pv /usr/java/latest/jre/lib/endorsed
# cd /app/weblogic/modules
# cp javax.annotation_1.0.0.0_1-0.jar javax.xml.bind_2.1.1.jar javax.xml.ws_2.1.1.jar /usr/java/latest/jre/lib/endorsed
五、創建域(2個節點都要執行):
$ su - weblogic
$ cd /app/weblogic/wlserver_10.3/common/bin
$ ./config.sh
備註:
Ø 可以在命令行中配置管理服務器、受管服務器、集羣和計算機,此處選擇在控制檯中配置
Ø 此處不演示節點2的創建過程,2個節點創建方式完全相同
Ø 如果需要重建域:
² 刪除原有域:$ rm -rf /app/weblogic/user_projects/domains/test_domain
² 創建域:$ /app/weblogic/wlserver_10.3/common/bin/config.sh
六、節點1配置AdminServer後臺運行,並優化JVM參數:
1、首次前臺運行AdminServer:
$ cd /app/weblogic/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目錄
$ cd /app/weblogic/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/user_projects/domains/test_domain/bin/startWebLogic.sh
Ø $ vim /app/weblogic/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="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"
(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/user_projects/domains/test_domain/bin
$ nohup ./startWebLogic.sh & //日誌會被記錄在自動創建的nohup.out文件中
$ tail -2 nohup.out
$ cd /app/weblogic/user_projects/domains/test_domain/servers/AdminServer/security
$ cat boot.properties //之前明文顯示的用戶名和密碼已加密
備註:關閉AdminServer的2種方法
Ø $ kill -9 進程號
Ø $ /app/weblogic/user_projects/domains/test_domain/bin/stopWebLogic.sh
6、查看優化後AdminServer的JVM參數:$ ps -ef | grep java | grep -v grep
7、瀏覽器中輸入http://192.168.1.220:7001/console打開控制檯,並輸入用戶名weblogic和密碼weblogic2018:
備註:修改控制檯用戶登錄密碼
點擊左側“鎖定並編輯”--> 安全領域 --> 右側默認領域“myrealm”-->“用戶和組”標籤 --> 下方“用戶”標籤 -->“weblogic”用戶 -->“口令”標籤 --> 輸入並確認新口令 --> 保存
七、配置集羣(2種方法均可實現,2選1):
AdminServer爲默認的域管理服務器,如果是非集羣環境,可以直接把應用程序部署至AdminServer下;如果是集羣環境,則AdminServer僅作爲管理集羣server使用Ø 通過startManagedWebLogic.sh:
1、控制檯新建集羣cluster:左側“環境”--> 集羣 --> 右側“新建”--> 修改集羣名稱爲“cluster”--> 確定 --> 左上方“激活更改”
2、新建服務器server1和server2:
左側“環境”--> 服務器 --> 右側“新建”--> 修改服務器名稱、服務器監聽地址、服務器監聽端口,並將此服務器設置爲屬於集羣cluster的成員 --> 下一步 --> 完成 --> 左上方“激活更改”
點擊“定製此表”,爲了方便查看,增加一列“監聽地址”:
3、節點1配置server1後臺運行:
(1)首次前臺運行server1:
$ cd /app/weblogic/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/user_projects/domains/test_domain/servers/server1
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)後臺運行server1:
$ cd /app/weblogic/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
4、節點2配置server2後臺運行:
(1)首次前臺運行server2:
$ cd /app/weblogic/user_projects/domains/test_domain/bin
$ ./startManagedWebLogic.sh server2 t3://192.168.1.220:7001
運行過程中需要輸入用戶名:weblogic,密碼:weblogic2018
看到如下提示信息,說明server2運行成功:
(2) 配置server2後臺運行:
Ctrl + c結束前臺運行的server2
首次運行server2後,會自動在test_domain目錄下創建servers/server2目錄
$ cd /app/weblogic/user_projects/domains/test_domain/servers/server2
$ mkdir -pv security
$ cd security
$ vim boot.properties
username=weblogic
password=weblogic2018
(3)優化JVM參數:$ vim /app/weblogic/user_projects/domains/test_domain/bin/startWebLogic.sh
² trap 'stopAll' 1 2 3 15上方加入代碼:MEM_ARGS="-Xms1024m -Xmx1024m -XX:MaxPermSize=512m"
² 如果應用程序需要在網頁中顯示驗證碼,則增加JVM參數-Djava.awt.headless=true
將SAVE_JAVA_OPTIONS="${JAVA_OPTIONS}"修改爲
SAVE_JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
(4)後臺運行server2:
$ cd /app/weblogic/user_projects/domains/test_domain/bin
$ nohup ./startManagedWebLogic.sh server2 t3://192.168.1.220:7001 >> nohup.server2 &
//日誌會被記錄在自動創建的nohup.server2文件中
$ tail -2 nohup.server2
$ ps -ef | grep java | grep -v grep
備註:通過startManagedWebLogic.sh不必配置控制檯“環境”--> 計算機
Ø 通過startNodeManager.sh(節點管理器):
1、停止已經啓動的server1和server2
2、新建計算機machine1和machine2:
左側“環境”--> 計算機 --> 右側“新建”--> 修改計算機名稱 --> 下一步 --> 修改類型、修改監聽地址 --> 完成 --> 左上方“激活更改”
3、在machine1中添加server1:
左側“環境”--> 計算機 --> 右側“machine1”-->“配置”標籤 -->“服務器”標籤 --> 添加 --> 選擇“server1”--> 下一步 --> 左上方“激活更改”
4、在machine2中添加server2:
左側“環境”--> 計算機 --> 右側“machine2”-->“配置”標籤 -->“服務器”標籤 --> 添加 --> 選擇“server2”--> 下一步 --> 左上方“激活更改”
5、節點1中啓動節點管理器:
$ cd /app/weblogic/wlserver_10.3/server/bin
$ ./startNodeManager.sh
出現上述提示信息後,Ctrl + c退出
$ cd /app/weblogic/wlserver_10.3/common/nodemanager
$ vim nodemanager.properties //只有啓動過startNodeManager.sh,纔會生成nodemanager.properties
ListenAddress=192.168.1.220
SecureListener=false
StartScriptEnabled=true
$ vim /app/weblogic/wlserver_10.3/common/bin/commEnv.sh
修改爲:
$ cd /app/weblogic/wlserver_10.3/server/bin
$ nohup ./startNodeManager.sh &
$ tail -3 nohup.out
$ ps -ef | grep java | grep -v grep
6、節點2中啓動節點管理器:
$ cd /app/weblogic/wlserver_10.3/server/bin
$ ./startNodeManager.sh
出現上述提示信息後,Ctrl + c退出
$ cd /app/weblogic/wlserver_10.3/common/nodemanager
$ vim nodemanager.properties //只有啓動過startNodeManager.sh,纔會生成nodemanager.properties
ListenAddress=192.168.1.221
SecureListener=false
StartScriptEnabled=true
$ vim /app/weblogic/wlserver_10.3/common/bin/commEnv.sh
修改爲:
$ cd /app/weblogic/wlserver_10.3/server/bin
$ nohup ./startNodeManager.sh &
$ tail -3 nohup.out
$ ps -ef | grep java | grep -v grep
7、通過控制檯啓動server1和server2:
左側“環境”--> 服務器 --> 右側“控制”標籤 --> 勾選“server1”和“server2”--> 啓動 --> 是
同樣能啓動server1和server2:
節點1:$ ps -ef | grep java | grep -v grep
節點2:$ ps -ef | grep java | grep -v grep
總結:
集羣配置方式 | 執行命令位置 | 是否需要在控制檯中新建“計算機” | 能否通過控制檯操作受管服務器 |
startManagedWebLogic.sh | 每一個受管服務器 | 否 | 否 |
startNodeManager.sh | 每一個受管服務器 | 是 | 能 |
八、部署應用程序:
1、安裝應用程序:
將測試用的test.war上傳至節點1的/tmp目錄下
左側“部署”--> 右側“安裝”--> 找到/tmp/test.war --> 下一步 --> 將此部署安裝爲應用程序 --> 下一步 --> 集羣中的所有服務器 --> 下一步 --> 下一步 --> 完成 --> 左上方“激活更改”
2、啓動應用程序:
左側“部署”--> 右側勾選應用程序 --> 啓動(爲所有請求提供服務)--> 是
3、訪問應用程序:
瀏覽器中訪問http://192.168.1.220:8011/test
瀏覽器中訪問http://192.168.1.221:8012/test
九、配置一般數據源:
1、停止集羣中所有servers
2、新建一般數據源:
左側“服務”--> 數據源 --> 新建(一般數據源)--> 修改JDBC數據源名稱、JNDI名稱、選擇數據庫類型 --> 下一步 --> 按照實際情況選擇數據庫驅動程序 --> 下一步 --> 下一步 --> 按照Navicat中的數據庫配置信息填寫數據庫名稱、主機名、端口、數據庫用戶名和密碼 --> 下一步 --> 測試配置 --> 下一步 --> 集羣中的所有服務器 --> 完成 --> 左上方“激活更改”
3、啓動集羣中所有servers