搭建weblogic集群

安装jdk

自行下载安装包 cd /usr/local tar axf jdk-7u75-linux-x64.tar.gz ln -s jdk1.7.0_75 jdk vim /etc/profile

#JAVA
JAVA_HOME=/usr/local/jdk
JRE_HOME=${JAVA_HOME}/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

source /etc/profile 测试jdk java -version 看到版本信息说明ok

静默安装weblogic

useradd weblogic 设置密码 passwd weblogic

cd /home/weblogic/ chown -R weblogic.weblogic /home/weblogic/ su - weblogic

准备配置文件

vim wls.rsp

 [ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
#[GENERIC]
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/home/weblogic/Oracle/Middleware
#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.
INSTALL_TYPE=WebLogic Server
#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
MYORACLESUPPORT_USERNAME=
#Provide the My Oracle Support Password
MYORACLESUPPORT_PASSWORD=<SECURE VALUE>
#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Provide the Proxy Host
PROXY_HOST=
#Provide the Proxy Port
PROXY_PORT=
#Provide the Proxy Username
PROXY_USER=
#Provide the Proxy Password
PROXY_PWD=<SECURE VALUE>
#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
COLLECTOR_SUPPORTHUB_URL=

vim oraInst.loc

inventory_loc=/home/weblogic/oraInventory
inst_group=weblogic

安装

指定文件用绝对路径

 java -jar wls_121200.jar  -silent  -responseFile  /home/weblogic/wls.rsp  -invPtrLoc /home/weblogic/oraInst.loc 

修改hosts文件 vim /etc/hosts IP HOSTNAME

不修改会启动不了

静默创建集群

建议手动创建server、machine,这些在控制台很容易就能完成,而且不易出错。 vim create_domain.rsp

read template from "/home/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar";

set JavaHome "/usr/local/jdk";
set ServerStartMode "dev";

find Server "AdminServer" as AdminServer;
set AdminServer.ListenAddress "";
set AdminServer.ListenPort "8001";
set AdminServer.SSL.Enabled "true";
set AdminServer.SSL.ListenPort "8002";

//We can directly create a new managed server.
//create Server "base" as BASE;
//set BASE.ListenAddress "";
//set BASE.ListenPort "8003";
//set BASE.SSL.Enabled "true";
//set BASE.SSL.ListenPort "8004″;

//Create server
//create Machine "base" as Machinename;

//use templates default weblogic user
find User "weblogic" as u1;
set u1.password "weblogic123";

//create a new user
//create User "weblogic2" as u2;
//set u2.password "weblogic123";

write domain to "/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/";

//The domain name will be "demo-domain"

close template;

创建文件存放目录

mkdir -pv /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/

cd /home/weblogic/Oracle/Middleware/wlserver/common/bin/

设置环境变量 export MW_HOME="/home/weblogic/Oracle/Middleware" export WL_HOME="/home/weblogic/Oracle/Middleware/oracle_common" ./commEnv.sh

vim /etc/profile 添加 export MW_HOME="/home/weblogic/Oracle/Middleware" export WL_HOME="/home/weblogic/Oracle/Middleware/oracle_common" source /etc/profile

静态创建域

改图有误,是老的,上面配置文件中注释到了machine和server,所以不会创建 ./config.sh -mode=silent -silent_script=/home/weblogic/create_domain.rsp -logfile=/home/weblogic/create_domain.log

启动weblogic

方法一、 cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/

nohup sh startWebLogic.sh >> weblogic.log 2>&1 &

集群配置

修改节点控制器配置文件 vim /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/nodemanager/nodemanager.properties

cd ../bin/ 启动nodemanager,这样启动默认会把日志写到nohup.out文件 nohup sh startNodeManager.sh &

看一下后台的JAVA进程和监听的端口

8001端口是AdminServer的端口,8002是AdminServer的ssl端口,5556是nodemanager的监听端口

修改JVM

vim setDomainEnv.sh 修改WLS_MEM_ARGS_64BIT后面的参数,然后重启即可

登录控制台 http://HOSTNAME:8001/console 刚启动进去会非常慢,貌似有补丁。

删除静默安装域的时候创建的server 和machine(因为我遇到过很坑的问题)(如果用//注释掉了就没有,没有不用管直接看集群) 删除server 环境-->服务器-->勾选要删除的server-->点击删除

删除machine

添加集群

创建mechina 环境-->计算机-->新建 输入mechina名称,选择系统类型,下一步 选择通信类型,监听地址,监听端口,完成

创建集群 环境-->集群-->创建-->集群 选择名称和信息传送模式、确定 创建server 环境-->服务器-->新建 看图 配置server 环境-->服务器-->点击server名称 配置-->一般选项 设置相关配置然后保存 配置-->优化-->点击高级 设置相关选项,然后保存(如果设置超载,请进行相应修改)

创建server2 环境-->服务器-->新建

将server2添加到集群 环境-->服务器-->点击server名称 配置-->一般选项 配置-->优化-->点击高级 和server1设置一样的 管理集群

检查nademanager端口是否监听 启动集群 启动很慢

单点启动服务节点 cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/ 执行命令

sh startManagedWebLogic.sh Server1 localhost:8001

startManagedWebLogic.sh是启动服务节点的脚本,用这个可以不启动nodemanager(建议还是启动,尽量在控制台操作),Server1是要启动的server节点名称,localhost:8001是控制节点的ip、端口,这样启动时需要输入登录控制台是的用户、密码(当然可以设置,看设置server节点无密码连接admin节点)

在集群中发布一个服务 部署-->安装 选择路径-->选择包-->下一步

下一步 选择部署到集群-->下一步 点击“完成” 等待发布完成

设置server节点无密码连接admin节点 cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/ cp -r AdminServer/security/ Server1/ vim Server1/security/boot.properties 改文件中就是连接是用的用户密码(加密后的,使用不加密的也可以) 另外一个节点也要 cp -r AdminServer/security/ Server2/

设置weblogic的JVM

cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin vim setDomainEnv.sh 安装实际情况来设置JVM 设置了只有要重启weblogic,如果资源充足,建议将Xms和Xmx设置成一样大,可以省去内存分配的时间

报错

解决方法 检查nodemanager是否启动,没启动先启动nodemanager 环境-->计算机-->计算机名称-->配置-->节点管理器 将ssl改为“普通”,然后保存 再去启动节点

启动节点,期间会要weblogic控制台的用户名和密码 sh startManagedWebLogic.sh server1 http://localhost:8001

weblgic漏洞处理

weblogic漏洞(CVE-2017-10271) 该漏洞通过wls-wsat.war这个war提供的web service服务进去 http://IP:PORT/wls-wsat/CoordinatorPortType 处理方法:安装oracle提供的最新补丁 临时处理方法为: 停止服务删除该war包,删除server下的tmp目录,重启启动服务 rm -rf /home/weblogic/Oracle/Middleware/wlserver/server/lib/wls-wsat.war rm -rf /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/ rm -rf /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/Server1/tmp/ rm -rf /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/Server2/tmp/ 如果漏洞的以下url访问不到说明ok了 http://IP:PORT/wls-wsat/CoordinatorPortType

该漏洞12-26号已在网上发布,而31号公司weblogic受到攻击,没人知道什么原因(网管管理的硬件防火墙服务提供商提醒了该漏洞,网管没看)。 关注一两个网络安全网站是非常有必要的。 更新服务到最新版本也可以避免一些类似的漏洞。

参考:

运维笔录 美玲:http://blog.51cto.com/meiling/1836572 腾讯云帮助中心:https://www.gztxdl.com/a/xinwenzixun/xingyexinwen/20171225/147.html