一.WebLogic安装教程
1.准备前提
此次教程针对的是webLogic10.3.6,jdk版本为jdk-6u45,操作系统为redhat6.5 X64为系统。需要准备以下文件。
wls1036_generic.jar weblogic的安装包。
jdk-6u45-linux-x64-rpm.bin jdk安装版本,1.6有俩个版本,此次选择了bin版本,安装过程基本都一致。
rhel-server-6.5-x86_64-dvd.iso 操作系统
以上文件在 百度云下载链接为:
此次安装模拟在虚拟机的镜像文件里安装,在服务器安装配置类似。不再细说。
2.用户以及用户组分配
WebLogic不能以root用户身份去启动等。我们需要重新新建一个身份,参考如下命令
groupadd -g 600spmtest
useradd –g spmtest ossuser
passwd ossuser
以上新建组,新建用户分配,修改初始化密码
3.jdk安装配置
为防止之前jdk和新安装jdk冲突,需要查看当前服务器是否有已被安装的jdk,需要卸载。
使用
rpm -qa|grepjdk //查看当前JDK
显示内容其中包含类似下面信息
#java-1.4.2-gcj-compat-1.4.2.0-27jpp
#java-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
卸载
# rpm -ejava-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
# rpm -ejava-1.4.2-gcj-compat-l.4.2.0-27jpp
Jdk安装
根目录新建tools存放,上传jdk-6u45-linux-x64-rpm.bin
切换到root用户,先赋予可执行权限
chmod 777 jdk-6u45-linux-x64-rpm.bin ← 修改为可执行
./jdk-6u45-linux-x64-rpm.bin 执行已经安装成功
安装成功后需要配置一下环境变量
使用vi或者vim命令
Vi /etc/profile
在文件末尾增加如下
exportJAVA_HOME=/usr/java/jdk
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin
退出保存(提示:wq命令)
查看环境变量安装成功
Javac 或者java -version
4.weblogic 安装配置
weblogic安装有俩种安装方式,1为界面安装,即当前linux有图形界面支持的话可以采用界面安装配置。2 控制台安装,即检测不到界面的话,会自动启用控制台安装,如下介绍控制台安装,界面安装类似。
用root用户将wls1036_generic.jar 更改属性用户组变为ossuser和spmtest
新建目录/spmtest 也同样更改属性组
切换到ossuser用户,执行如下命令
java -jarfilename.jar -mode=console
参考安装如下;
第一步:进入控制台的欢迎页面;
操作:输入“Next”,回车
第二步:选择中间件的主目录(可自行输入,也可选择默认)
操作:输入安装的中间件的主目录(选择默认的话,直接输入“Next”即可),回车
第三步:选择中间件目录
操作:输入“1”、回车;如果你想把中间件目录修改回默认的,可以输入“2”
第四步:确认中间件目录
操作:输入“Next”,回车
第五步:注安全册更新
操作:一般不需要更新,输入“3”,回车
第六步:更改接受更新的方式
操作:输入“No”,回车(我们不需要更新)
第七步:确认更改的更新接受方式
操作:输入“Yes”,回车
第八步:接受更新选择确认
操作:输入“Next”,回车(此时Receive Security Update:[No]表示我们不接受安全更新)
第九步:选择安装类型(Typical:典型;Custom:定制,自定义)
操作:我们选择默认典型安装,输入“Next”,回车(如果选择定制安装,输入“2”,回车)
第十步:选择安装所用的jdk
操作:输入“Next”,回车(下图红色框里面的“x”表名选中)
第十一步:选择产品安装目录(一般来说,这一步默认就行(如果要更改的话就选择前面的序号,比如1回车,然后输入安装路径就行),输入“下一步”后回车)
操作:输入“Next”,回车
第十二步:出现安装的产品系列列表
操作:输入“Next”,回车
第十三步:出现开始安装界面,看到如下图的信息,就代表weblogic11g安装成功,此时回车(输入“Exit”)就可以退回到命令台上。
三、安装完后,我们需要配置Domain域(Domain是weblogic中最大的概念,一个域下面包含着weblogic应用服务器中的所有东西,weblogic应用服务器的启动,停止都是以domain为单位进行管理的。域是由单个管理服务器管理的WebLogic Server实例的集合。)
第一步:进入weblogic安装目录(如:/home/weblogic/Oracle/Middleware/wlserver_10.3/common/bin)
找到config.sh
操作:执行./config.sh,回车;出现下面页面,我们这里创建一个新的domain,输入“Next”,回车
第二部:选择域源
操作:输入“Next”,回车(1代表选择 Weblogic Platform 组件,2代表选择定制模板,数字前面有一个小箭头代表选中,我们无需定制模板)
第三部:应用程序模板选择
操作:输入“Next”,回车
第四步:domain信息编辑(主要是修改域名称)
操作:输入“Next”,回车(如果要修改value的话,可直接输入value,回车;如:输入“wx_domain”,回车)
第五步:进入目标域目录选择
操作:输入“Next”,回车(这里我们选择默认即可,如果要修改,输入路径,回车)
第六步:配置管理员用户名和口令
操作:输入“2”,回车(此为修改用户口令;如果想修改其他信息,输入相关数字进行修改)
第七步:输入用户口令
操作:输入“weblogic123”,回车
第八步:确认用户口令
操作:输入“3”,回车
第九步:用户口令确认输入
操作:输入“weblogic123”,回车(密码要求至少8个字符且含有字符、数字、下划线)
第十步:管理员用户名和口令确认
操作:输入“Next”,回车
第十一步:域模式配置
操作:输入“2”,回车(1代表开发模式,2代表生产模式;我们这里选择生产模式)
第十二步:java SDK选择
操作:输入“Next”,回车
第十三步:选择可选配置(1:管理服务器;2:受管服务器,集群和计算机;3:RDBMS安全存储)
操作:输入“Next”,回车(我们暂无需配置)
第十四步:创建域(出现下方页面,则表示domain创建成功)
5.安装成功后部署
安装成功可以访问到webLogic的部署界面,以测试环境为例,查看如下
以210为例子,地址为:
6.config.xml配置文件解读
1)config.xml
域的中心配置文件是/domains/DOMAIN_NAME/config/config.xml 文件。它用于指定域的名称以及域中每个服务器实例、群集、资源和服务的配置参数设置。config.xml文件中包含了一系列xml元素,其中域元素的为最顶层元素,域中所有元素都是域元素的子集。域元素包括服务器、集群、应用等子元素,这些元素可能还有其他自己的子元素。例如:服务器的子元素包含web服务器,SSL和日志等,应用程序的子元素包含EJB组件和Web应用组件等。
config.xml 的命名空间是http://www.bea.com/ns/weblogic/90/domain,其 XML Schema(存在两个 Schema:一个用于主 config.xml,另一个用于安全分部)位于:
http://www.bea.com/ns/weblogic/90/domain.xsd
http://www.bea.com/ns/weblogic/90/security.xsd
这些 Schema 还位于 BEA_HOME/weblogic90/server/lib/schema/weblogic-domain-binding.jar 处的文件系统中的 JAR 文件中;Schema 在JAR 文件中的路径名为 META-INF/schemas/schema-0.xsd。通过 XML Schema 可以使用 XML 编辑工具来修改和验证 config.xml 文件。
有关域配置 XMLSchema 的参考指南,请参阅 WebLogic Server Domain ConfigurationSchema Reference。
2)编辑配置文件
在大多数情况下,不应直接修改config.xml文件或其他配置文件。通常情况下使用管理控制台或其他weblogicserver工具来配置config.xml。每次配置更改后,将随后反映在配置文件中。
注意:在 WebLogic Server 执行时不能修改配置文件,因为 WebLogicServer 会定期重写这些文件。否则,所做的更改将会丢失,并且根据所使用的平台还可能导致 WebLogicServer 出现故障。
由于 WebLogicServer 配置文件都是标准格式的 XML 文件,因此可以使用 XSLT 修改它们或使用诸如 Apache Xerces 或 JDOM 的 XML 解析器应用程序将某些重复的更改编写为脚本。请确保对创建的任何脚本都进行全面测试,并在对每个配置文件进行任何更改之前先创建其备份副本。
配置文件归档
配置更改后,可以通过配置,让weblogic把他归档到一个旧文件中。这有助于在需要还原配置更改或配置文件损坏后进行恢复,不过后一种情况极少发生。当管理服务器启动时,它会保存一个包含配置文件的 JAR 文件,文件名为 config-booted.jar。在对配置文件进行更改后,旧文件将保存在域目录的 configArchive 目录下的一个 JAR 文件中,其名称按顺序编号,例如 config-1.jar.
是否要备份配置文件由DomainMBean.ConfigBackupEnabled 特性指定,其默认值为 False。保留的配置归档文件的数目由 DomainMBean.ArchiveConfigurationCount 特性指定,其默认值为 0。
配置文件中的安全凭据
域安全的安全凭据和嵌入式LDAP 服务器都以加密的形式存储在 config.xml 文件中。如果手工创建 config.xml,则需要找到这些凭据,并在对凭据加密后将加密凭据复制到config.xml 文件中。
清单 3-1 配置加密凭据
<security-configuration>
<credential-encrypted>{3DES}encypted-value-here</credential-encrypted>
</security-configuration>
<embedded-ldap>
<credential-encrypted>{3DES}encypted-value-here</credential-encrypted>
</embedded-ldap>
3)辅助配置文件
在 WebLogicServer 9.0 之前,config.xml 文件是所有配置信息的仓库。现在,由中心 config.xml 文件引用的辅助配置文件可对多个 WebLogic Server 子系统进行配置。这些辅助配置文件驻留在 /domains/DOMAIN_NAME/config 目录的子目录中。
4)启动顺序
如果已设置环境中所述的所需环境,则在输入不带任何选项的命令 Java weblogic.Server 时,WebLogic Server 会执行以下操作:
1.在domain_name/config 目录中查找名为config.xml 的文件。
2.如果domain_name/config 目录中存在config.xml,则WebLogic Server会执行以下操作:
a.如果在config/config.xml 中只定义了一个服务器实例,WebLogic Server 将启动该服务器实例。
例如,如果从WL_HOME/samples/domains/medrec 发出 java weblogic.Server,则 WebLogic Server 会启动 MedRec 服务器。
b.如果在 config/config.xml 中定义了多个服务器实例:
如果定义了管理服务器,则用其名称查找该服务器。
如果未定义管理服务器,则查找名为myserver.的服务器配置。如果找到此服务器配置,则启动 myserver 实例。
如果未找到名为 myserver 的服务器,WebLogic Server 将退出 weblogic.Server 进程,并生成错误消息。
3.如果在当前目录中没有 config.xml 文件,则 WebLogic Server 会提示用户创建一个。
a.如果响应 y,则 WebLogic Server 将执行以下操作:
创建名为 myserver的服务器配置,并在名为 config/config.xml 的文件中保存此配置。所指定的任何选项都保存到 config.xml 文件中。例如,如果指定-Dweblogic.ListenPort=8001,则 WebLogic Server 将 8001 保存在 config.xml 文件中。对任何未指定的选项,服务器实例使用默认值。
b.使用提供的用户名和密码创建拥有管理权限的用户。它将用户的定义以及其他与安全相关的基本数据存储在名为 DefaultAuthenticatorInit.ldift、DefaultRoleMapperInit.ldift和 SerializedSystemIni.dat的domain_name/security文件中。WebLogic Server 将用户名和密码加密并存储在server_name/security/boot.properties文件中,因此,在后续的服务器实例化过程中可以绕开登录提示。有关详细信息,请参阅“管理服务器启动和关闭”中的引导标识文件。
c.创建可以用于启动后续服务器实例的两个脚本,bin/startWebLogic.cmd和 bin/startWebLogic.sh。可以使用文本编辑器来修改启动选项(如服务器是以生产模式还是开发模式启动)。startWebLogic 脚本包含描述每个选项的注释。
请注意,在新建域中服务器作为管理服务器启动。此域中没有其他服务器,也不包括任何部署或第三方解决方案。可以添加它们,就像可以将它们添加到任何 WebLogic 域中一样。
查看原地址介绍:https://yq.aliyun.com/articles/52265
7.webLogic集群解读
Weblogic的集群必须设立一个总控端,可从上图中看出,然后这个总控端我们把它称为AdminServer,然后在其下可以挂weblogic的集群的node,这个node不是物理上不同的两个weblogic,而是不同的domain,我们假设domain1, domain2为两个weblogic的集群的节点。
如果我们要布署我们的Web应用,只需要在总控端布署一次,然后挂在这个总控端下的节点将会自动将我们的web应用发布到每一个节点。
因此,要实现weblogic的集群必须:
安装Weblogic
创建一个AdminServer的domain
在AdminServer上建立集群总控端
分别创建每一个要加入此集群总控端的node,也是一个个的domain
二. FAQ常见问题解读
1.如何设置远程debug调试程序
操作:
1).找到weblogic根目录下user_projects/domains/域名/bin/setDomainEnv.sh文件
2).找到这个文件后,可以使用nanosetDomainEnv.sh命令对文件进行修改(vi编辑器亦可),加入红框中的代码
用“#”开头的是注释
debugFlag="true",这句就是shell命名中为变量debugFlag赋值,注意等号左右不要有空格
export debugFlag,这句是将debugFlag声明为环境变量,可以不需要
3).重启weblogic
4).设置eclipse
Name 是服务器的别名,随便叫什么都行
Project 是你要调试的工程名
Host 是服务器的ip
Port 默认是8453,除非你改了weblogic的调试端口,不然就是这个(注意开启linux的防火墙设置,不然tcp/ip连接不上)
至此,我们就能通过在本地eclipse中打断点来调试远程weblogic上的代码了。这对我们sit测试来说非常的省时省力。因为出现bug时不需要重新部署工程,能直接在本地调试。
三.补充说明
很多blog里说,当开启了debug模式后,能在命令行里看到输出Listening for transportdt_socket at address:8453,,,可是,每次启动时输出的大量信息,要去找这句话真的比较难,反正我是一次都没看到过。
所以我想到了另一个方法:
修改startWeblogic.sh文件(nano startWeblogic.sh)
加上了红框中的代码后,就能清晰的知道是否开启了debug模式。这也是为什么我要将setDomainEnv.sh中的debugFlag声明为环境变量。
在这里有启动信息:
其实weblogic早就为我们准备好了debug模式的参数设置,它只需要一个标识来启动它,所以我们要将debugFlag="true",本质上来说,就是shell中为一个变量赋值。
2. WebLogic开发模式、生产模式区别及相互转换的方法
WebLogic有两种工作模式,一种是开发模式,另一种是生产模式。开发模式下,启用了自动部署;生产模式下,关闭了自动部署。自动部署是一个标志,它使得配置或定位工作不需要任何管理员或开发人员的操作。当自动部署处于启用状态时,管理服务器将监视指定的目录以确定是否有新建的或更新的应用程序。如果管理服务器发现了应用程序有变化,就会自动部署该目录中的所有文件或目录。默认情况下,自动部署目录为域的/autodeploy子目录,在autodeploy目录中找到的任何新文件都将被自动部署。
WebLogic安装时默认的是开发模式,为了模拟生产环境可以选择生产模式。开发模式、生产模式在设置了以后并不是不可改变的,两种模式的切换方法如下(以Linux为例,Windows相似):
1、生产模式 ->开发模式
Step 1:将domain下的/bin/setDomainEnv.sh文件的PRODUCTION_MODE="true"改为PRODUCTION_MODE="false"
Step 2:将domain下的config/config.xml文件中的<production-mode-enabled>true</production-mode-enabled>改为<production-mode-enabled>false</production-mode-enabled>,或者直接删掉,我这里就直接给删了
Step 3:然后重新运行/bin/startWebLogic.sh即可。
2、开发模式 ->生产模式
Step 1:将domain下的bin/setDomainEnv.sh文件中的PRODUCTION_MODE="false"改为PRODUCTION_MODE="true"。
Step 2:然后重新运行/bin/startWebLogic.sh即可。