一、演示环境:
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、2个server时间同步
3、安装配置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安装完成后需要做特殊处理
4、配置主机名:
# 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
5、创建weblogic用户和组:
# groupadd weblogic
# useradd -g weblogic weblogic
# echo "weblogic2018" | passwd --stdin weblogic
6、创建安装时所需目录,并赋予权限:
# 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个节点创建方式完全相同
六、节点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/AdminServer目录
$ 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