基本概念
在正式部署项目之前,还是先了解下基本概念吧。最基本要掌握域(Domain)、集群(Cluster)、服务器(Server)(区分管理服务器和受管理服务器)、计算机(Machine)、节点管理器(Node Manager)。
参考文章:
常用目录结构
了解WebLogic常用目录结构,将大大提高管理与维护的工作效率 。这里以WebLogic 11g为例。
. # 主目录
│─ coherence_3.7 # coherence集群相关
│─ logs # 日志文件,包括安装和运行%WL_HOME%\common\bin\下程序的日志
│─ modules # 模块和插件目录
│─ user_projects # 用户工程目录
│ └─ domains # 域主目录
│ └─ base_domain # DOMAIN_HOME,用户自建域主目录,默认名称为base_domain,以此为例
│ │─ bin # 启动和停止域服务、设置域环境变量的相关命令文件
│ │ └─ nodemanager # 可以设置成当前域节点管理器配置目录,默认不使用
│ │─ config # 配置文件
│ │─ security # 用户口令验证相关文件
│ └─ servers # 服务器相关文件
│ └─ AdminServer # 管理服务器,以此为例
│ │─ logs # 日志文件
│ │─ security
│ │ └─ boot.properties # 当前域登录信息文件,保存用户名和密码后可以免验证登录
│ │─ stage # 存放当前域所部署项目部署包文件
│ └─ tmp # 当前域所部署项目相关临时文件
└─ wlserver_10.3 # WL_HOME,WebLogic应用主目录
│─ common #
│ │─ bin # WebLogic应用程序可执行命令目录
│ └─ nodemanager # 默认的节点管理器配置目录
│─ server
│ └─ bin # WebLogic服务器可执行命令目录
│ └─ startNodeManager.cmd # 默认的启动节点管理器服务
└─ uninstall # 卸载相关命令文件目录
注:本文档所有
%WL_HOME%
,均指上面的wlserver_10.3目录;%DOMAIN_HOME%
指自建域的主目录,例如上面的base_domain目录,对应域的环境变量可以查看%DOMAIN_HOME%\bin\setDomainEnv.cmd
。
集群的安装及配置
安装WebLogic之前,先要安装Java环境。本人电脑上安装了几套Java环境,WebLogic用到的有两个JRockit 6 - R28.2.7和Java7u80,JRockit是原BEA公司的产品,现已被Oracle收购,是传说中最快的JVM,理论上来说使用JRockit性能会有明显的提升。不过JRockit最高只有1.6版本的,而目前WebLogic12c最低支持Java8,所以要想使用JRockit要安装WebLogic11g以下的版本。而我们通常所说的Java环境指的都是Sun公司JDK(也被Oracle收购了^_^)即Oracle Java(为什么要说这些,因为手动配置Java环境的时候需要知道Sun和BEA区别)。
教程1:Windows下Weblogic 11G集群安装与配置
教程2:Weblogic12c (12.2.1.3)集群环境搭建 两台物理机
安装WebLogic
教程1很详细了,如果已经安装了Java环境,可以跳过第2步,直接到3.1 安装Weblogic软件。
创建WebLogic域及集群
创建域使用QuickStart即可,配置集群有两种方法:
-
创建域时配置集群
如果要配置集群且使用代理,请按教程1-3.3 创建Weblogic域及集群步骤来(因为我找不到从控制台添加代理的方法);如果要配置集群但不使用代理,可以按3.3步骤在创建域时配置好集群,也可以只创建域然后到控制台配置集群。
-
控制台配置集群
参考教程2-4.4. 配置集群服务器,主要就是新增服务器(注意同一计算机上的服务器监听端口不能相同)、计算机(不同计算机节点管理器端口可以相同)、集群,这三个没有顺序要求,计算机中添加服务器,集群中添加服务器。
默认计算机的节点管理器类型为SSL,如果修改成其他,通过节点管理器启动服务器的配置要相应修改,见下文。
受管理服务器域的配置
如果受管理服务器和管理服务器都在同一台计算机上,不需要此步骤。这里配置的是另一台计算机上的受管理服务器。也有两种方法:
-
使用QuickStart
参考教程1第4步,注意域名应和管理服务器上的一致,只需配置受管理服务器即可,因为当前域只有一台计算机,所以可以不用配置计算机。
-
使用镜像方法
参考教程2-4.5. 复制域到另一台物理机,管理服务器配置好后,打包域然后解压到受管理服务器上。如果部署了项目之后再打包会连项目一起打包,建议打包之后再部署项目。参考命令如下,注意是在两台计算机
%WL_HOME%\common\bin\
目录下运行命令提示符,分别输入:pack -managed=true -domain=d:\weblogic\user_projects\domains\base_domain -template=d:\base_domain.jar -template_name="base_domain" unpack -domain=d:\weblogic\user_projects\domains\base_domain -template=d:\base_domain.jar
注意多台计算机WebLogic版本应一致,JDK根据部署的项目可以不一致。简单的集群使用第一种方法更便捷,复杂的集群推荐使用第二种方法。
启动管理服务器和受管理服务器
首先启动管理服务器,参考教程1-5.1 启动节点1的管理服务器或教程2-4.7.1。为了不在每次启动时输入用户名和密码,可以在%DOMAIN_HOME%\servers\AdminServer\security\
下新建boot.properties文件,内容为:
username=域登录名
password=对应密码
启动受管理服务器也有两种方法:
-
直接启动
参考教程1-5.2、5.3和5.4,参考命令如下,注意是在两台计算机
%DOMAIN_HOME%\bin\
目录下运行命令提示符,地址都用管理服务器的地址:startManagedWebLogic.cmd Server-1 http://192.168.1.103:7001
第一次启动时会提示输入用户名或密码,之后会在
%DOMAIN_HOME%\servers\Server-1\security\
下生成登录信息文件boot.properties,如果没有的话自己建一个。注意如果要通过节点管理器启动一定要配置boot.properties。
-
通过节点管理器启动
默认节点管理器通过
%WL_HOME%\server\bin\
目录下startNodeManager.cmd启动,为全局管理器,默认配置文件目录为%WL_HOME%\common\nodemanager\
,记为目录A。为了给不同域配置不同的节点管理器属性,具体配置如下(两台受管理服务器都要配置):-
复制startNodeManager.cmd到
%DOMAIN_HOME%
目录下,修改NODEMGR_HOME
为%DOMAIN_HOME%\bin\nodemanager\
(这里%DOMAIN_HOME%
要替换成实际的地址),记为目录B。以管理员权限运行startNodeManager.cmd,首次运行会在目录B下生成相应的配置文件,观察控制台会报缺少nodemanager.domains文件,关闭startNodeManager.cmd。 -
复制目录A中nodemanager.domains到目录B,打开修改,只留当前域的那一行即可,或者直接自己新建一个,注意Windows下目录
:
和\
要记得转义。示例如下:base_domain=D\:\\weblogic\\user_projects\\domains\\base_domain
-
修改目录B中nodemanager.properties文件,配置
StartScriptEnabled=false
,如果不修改,通过节点管理器启动不会加载你的登录信息文件,会报错。 -
如果新建计算机时配置的节点管理器类型为SSL,确保
SecureListener=true
;如果节点管理器类型为普通,要修改SecureListener=false
,否则从控制台启动服务器会报找不到节点管理器的错误。 -
监听地址
ListenAddress
可以置空。
配置好后重新启动节点管理器,在控制台【环境】->【计算机】,选择相应计算机【监视】->【节点管理器状态】,状态为【可访问】,此时可以通过【服务器】->【控制】通过节点管理器启动相应服务器。如果节点管理器状态为【非活动】,检查上面步骤,排查问题。
-
总结:直接启动受管理服务器是没有办法通过控制台重启服务器的(可以关闭),所以建议通过节点管理器启动。整体流程就是:启动管理服务器--启动受管理服务器的节点管理器-通过控制台启动受管理服务器。
节点管理器随Windows启动
参考教程2-5,修改%WL_HOME%\server\bin\
目录下installNodeMgrSvc.cmd的相应配置,执行即可。取消执行uninstallNodeMgrSvc.cmd。
部署项目注意事项
部署项目参考教程1-6. 部署应用进行测试,具体的应用各不相同,配置也不尽相同。可能遇到各种各样的问题,需要注意的是:
-
和开发沟通好,确保编译和部署的JDK环境一致或尽量一致;以及其他一些部署时需要单独配置的东西。修改JAVA_HOME等环境变量在
%DOMAIN_HOME%\bin\setDomainEnv.cmd
,修改完后重启WebLogic即可。 -
遇到报错多查看日志,帮助文档,百度谷歌,同事前辈亲朋好友。。。头发掉光都解决不了就算了。
Comments