一、演示环境:
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