此次以10.128.22.21和10.128.22.22两台服务器为例,来描述应用部署的步骤。并以10.128.22.21:7001作为管理服务器
主管服务器相关配置
创建domain
/home/weblogic/weblog10/wlserver_10.3/common/bin/config.sh
执行 config.sh
![93963048d18a092a8c8e2771c271ef4b.png](https://i-blog.csdnimg.cn/blog_migrate/8d028b334ce47dba0366f002d68ebdce.jpeg)
选择创建新的weblogic域
![5f8faa85facf3c3df415176b41bd9719.png](https://i-blog.csdnimg.cn/blog_migrate/b573d921499be400810ea4174dfb60f3.jpeg)
选择weblogic Platfrom 组件
![bbc88d9aca620705a5d09b5193b561e1.png](https://i-blog.csdnimg.cn/blog_migrate/9e397486f62cc84e49a65553b560e020.jpeg)
选择要使用的模板这里直接点击下一步即可
![83e14379247423cbda46dad6cb19205b.png](https://i-blog.csdnimg.cn/blog_migrate/da578024c2aa22665573441d73f1a7be.jpeg)
输入需要创建的domain的名称(主管服务器和受管服务器名称建议一致)
![4ed53fbc13f61927c9fb087a0f607028.png](https://i-blog.csdnimg.cn/blog_migrate/906344594c14f6333d53f65eac37f630.jpeg)
选择默认位置
![2e8f347122f10055a49776beffdcb881.png](https://i-blog.csdnimg.cn/blog_migrate/352956a1f09269e66db4aa6083520700.jpeg)
根据提示输入用户口令并进行确认
![6774556aaf71920e0668d092389fd44e.png](https://i-blog.csdnimg.cn/blog_migrate/617211c2f17d51bb903e56aa0b6c9039.jpeg)
根据需要选择开发模式或者生产模式这里选择生产模式
![69fad355aa11f80ba5be220d9d3871b2.png](https://i-blog.csdnimg.cn/blog_migrate/edfac9b3ce6b2789e030f9fccf6db605.jpeg)
选择预先设置好的JDK
![efe2904d4631ca1032d84032a850f7a5.png](https://i-blog.csdnimg.cn/blog_migrate/c52c8501ccaffe36818d34f7e915487e.jpeg)
下一步根据提示创建好domain
启动weblogic服务
/home/weblogic/weblog10/userprojects/domains/tpcenterdomain
执行 startWebLogic.sh
此时需要根据提示输入之前设置的weblogic用户名和密码,密码输入正确则可以正常启动
成功启动weblogic服务之后进入
/home/weblogic/weblog10/userprojects/domains/tpcenterdomain/servers/AdminServer
目录下创建security文件夹并在文件夹中写入boot.properties
username=XXXXX
password=xxxxxx
![ffa6b5c810272ece0ca8d22aabb04274.png](https://i-blog.csdnimg.cn/blog_migrate/d5489d1aefb99bb09a9b94c9c52511dd.jpeg)
之后重新启动weblogic服务,系统会自动读取boot.properties并对用户名和密码进行加密,后续启动无需手动输入weblogic用户名密码
新建server
登录domain的控制台,查看环境->服务器
![dbf1cd67d001f434081a6d52fd0ce484.png](https://i-blog.csdnimg.cn/blog_migrate/f5fd35c968b9ef5922fa0f4debcafd64.jpeg)
点击新建按钮新建Server2101
*如果涉及其他电脑访问 ,请将127.0.0.1改成部署电脑的ip地址
![36a526a89ab1a0a9dda378ade75f888a.png](https://i-blog.csdnimg.cn/blog_migrate/ae388fdcf9de25c827343952007df708.jpeg)
输入规划的服务器名称Server2101,地址、监听端口,点击“完成”返回服务器列表页面,如下图所示
![57eca7fa94a3f59656821ad375ae77fb.png](https://i-blog.csdnimg.cn/blog_migrate/efc5aedabeeece9ab2f975c91c7ec91f.jpeg)
新建集群
新建集群,并添加服务器:在控制台选择“集群”->“新建”,如下图所示
![3411f1aa703eae8ae93734bff188bdf9.png](https://i-blog.csdnimg.cn/blog_migrate/f11607d7a4247bb34d052b4c9721bb61.jpeg)
新建成功后返回集群列表页面如下图所示
![055bb0f2a1976ade135c9ec9d595409d.png](https://i-blog.csdnimg.cn/blog_migrate/88819359c6f0365a817e71cadfbf3ecf.jpeg)
点击列表中的cluster链接,打开集群配置界面,选择“配置”->服务器,如图所示
![a2d1eaee641e7be2eeb5237c1aa80b34.png](https://i-blog.csdnimg.cn/blog_migrate/c429f4c975eb594bbfc57940c3785664.jpeg)
点击添加按钮将Server2101添加到集群中
新建计算机
在控制台选择“计算机”->“新建”,如下图所示
![acc893d355a7c475be776e30e348f12d.png](https://i-blog.csdnimg.cn/blog_migrate/29ec630b7298bcae3410f4bce3ba6a40.jpeg)
修改“监听地址”为127.0.0.1(如果涉及其他电脑访问,请将127.0.0.1改成部署电脑的ip地址),其它保持不变,点击“完成”,如图所示
![2f0e3ad33a139cf8333eed9cdf740d8a.png](https://i-blog.csdnimg.cn/blog_migrate/59408bfcc5e710cbff8b4d49436585af.jpeg)
新建成功,返回计算机列表界面,如图所示
![ff51a4ab7754df87ab4fd10ffeafac8d.png](https://i-blog.csdnimg.cn/blog_migrate/9635c12072905043b71edbb5208a3c6f.jpeg)
点击172.31.22.21 点击配置->服务器点击添加按钮,将Server2101添加到计算机172.21.22.21中
![f710aa0cfc0e0654110e23a6edf7812e.png](https://i-blog.csdnimg.cn/blog_migrate/e7aa565219e0fefc171ceb0b34d595ee.jpeg)
后续server可根据具体需要判断是否选择克隆server,这里由于server属性相同,可选中Server2101点击克隆(如不符合克隆条件,可参考以上创建步骤进行创建server)
这里根据需要克隆出Server2102、Server2103、Server2104端口号分别为8002、8003、8004
![61842cad86bf6cf6fd410beab24da549.png](https://i-blog.csdnimg.cn/blog_migrate/c051af0f8f897cd3216e48da4dcc2f06.jpeg)
至此,服务器、集群、计算机都已经配置成功,选择“环境”-》服务器,最后结果如图所示
![23e2cbfec8596900426de328f03b1307.png](https://i-blog.csdnimg.cn/blog_migrate/301d5f0e62334e1a078c7686a850d9aa.jpeg)
启动server
/home/weblogic/weblog10/userprojects/domains/tpcenterdomain/bin
执行
sh startManagedWebLogic.sh Server2101 http://172.31.22.21:7001
根据提示输入用户名密码并在对应server文件夹下建立boot.properties
![1d17616dedfa001e0808f837f77a153a.png](https://i-blog.csdnimg.cn/blog_migrate/7159b4fd5c85d55595aa0aeeeb572157.jpeg)
启动节点管理器服务
/home/weblogic/weblog10/wlserver_10.3/server/bin
执行startNodeManager.sh
执行后,可以看到 /home/weblogic/weblog10/wlserver_10.3/common/nodemanager路径下 文件夹nodemanager创建了如图以下文件
![5f0ebb834ac65e7a9d6cfdcee5fe7b08.png](https://i-blog.csdnimg.cn/blog_migrate/a9f8e9d99aaee5091f97ffa84b6516fb.jpeg)
关闭node服务并对node服务进行配置主要确保以下属性配置正确
StartScriptEnabled=true
ListenAddress=127.0.0.1(*如果涉及多台电脑访问,此处设置成部署电脑的ip地址这里配置172.31.22.21)
StartScriptName=startWebLogic.sh
配置完成之后执行startNodeManager.sh (nohup启动)
忽略主机签名验证
在控制台中选择环境->服务器->AdminServer->配置->SSL,主机签名验证选择无,如下图所示:
![5d7e346f9a39fee8f2c556b9b37320a4.png](https://i-blog.csdnimg.cn/blog_migrate/73bdb2f8e965ec51b23d719196aa96fb.jpeg)
点击“高级”,选择“主机名验证”为“无”,点击“保存” 同理,依次设置其他server的SSL主机名验证为“无”
因为主机名验证,需要重启后才生效,否则server与节点管理器之间的SSL握手不成功,节点管理器日志会报错,因此一定要重启weblogic服务
Weblogic服务启动完毕之后登陆控制台启动
Server2101、Server2102、Server2103、Server2104
![5a746b830ddccfa64186abf4b5e756c6.png](https://i-blog.csdnimg.cn/blog_migrate/8aac4c56cf2faff5fed6c11e4211c5fb.jpeg)
受管服务器相关配置
根据以上步骤创建domain 并新建所需server 此处不再赘述(主机2 作为受管服务器域名要和管理服务器域名及路径一致)
在管理服务器中配置受管服务器如下图
![66797ae4ecc52399f59959668fa81c09.png](https://i-blog.csdnimg.cn/blog_migrate/999dee17ccf17af40d31cd3d7249e7e1.jpeg)
主管服务器配置
创建受管服务器对应的计算机如下图
![e6c34a5411ed2b778311b727bb2f8ee9.png](https://i-blog.csdnimg.cn/blog_migrate/1392e37ee2c5e71907ec70d4ff9c8fc8.jpeg)
该计算机对应的为受管服务器计算机需要将通信类型修改为普通
![a55cf2e7f95c3899e65c8deb367f9c8d.png](https://i-blog.csdnimg.cn/blog_migrate/37afd6216c9aaa284e645166e17256d2.jpeg)
在该受管计算机中添加受管服务器
![b73c5a6d3803c8a56b74b680bc61300d.png](https://i-blog.csdnimg.cn/blog_migrate/b5e402507a963789b15970209975eacf.jpeg)
受管服务器配置
在受管服务器主机中使用 wlst 工具从管理服务器中同步节点管理器机密文件
(nm_password.properties) SerializedSystemIni.dat
更新/nodemanager 目录下 nodemanager.domains 文件中的域信息。
操作命令如下:
设置 wlst 环境变量:
/home/weblogic/weblog10/wlserver_10.3/server/bin
setWLSEnv.sh
执行 wlst 工具
/home/weblogic/weblog10/wlserver_10.3/common/bin
wlst.sh
![c916777dcc81e09968da4437f4e9d13c.png](https://i-blog.csdnimg.cn/blog_migrate/91b8e4c3e9b38484e4affd79d84fee31.jpeg)
在 wls:/offline>中输入 connect 命令, 连接管理服务器, t3 为 weblogic 协议不可修改:connect
('管理服务器用户名','管理服务器密码','t3://管理服务器 ip:端口')
提示如下信息
connect ('weblogic','weblogic@2017','t3://172.31.22.19:7001')
![490b771773c045b75b6b14ac2deb8b59.png](https://i-blog.csdnimg.cn/blog_migrate/8f42415383763485b3d6e1c66a837647.jpeg)
在 wls:/offline>中输入 nmEnroll 命令,从管理服务器中下载文件:
nmEnroll([domainDir], [nmHome])
domainDir :保 存 节 点 管 理 器 的 机 密 文 件 (nm_password.properties) 和SerializedSystemIni.dat 文件的域目录的路径
nmHome:节点管理器主目录的路径
nmEnroll('/home/weblogic/weblog10/userprojects/domains/ydpicdomain/','/home/weblogic/weblog10/wlserver_10.3/common/nodemanager/')
![80c1e4b27a1be0892034e87d82ceef84.png](https://i-blog.csdnimg.cn/blog_migrate/0b3cfaf3bcff74f0f63c557e6fa84124.jpeg)
退出 wlst 工具命令:exit()
![7a744f459d1847016818b4b8ac0f9dcf.png](https://i-blog.csdnimg.cn/blog_migrate/0ccae2d3ae65332bc70de5b91501cf26.jpeg)
在 受 管 服 务 器 中 , 修 改 nodemanager.properties 启 动 配 置 文 件 , 路 径 为
/wlserver_12.1/common/nodemanager/nodemanager.properties
修改如下内容
ListenAddress=为本机 ip 地址
ListenPort=节点管理器监听端口
SecureListener=false
在受管服务器主机中启动节点管理器,节点管理器启动
在管理控制台关联受管服务器对应的应用,启动即可。
项目部署
进入weblogic管理界面点击部署 安装
![1a75e2f135b966ba640986f64268df80.png](https://i-blog.csdnimg.cn/blog_migrate/ef90fcd77ffad97a8d869fba70b38ee5.jpeg)
找到对应的项目路径
![810c087f9b3fb1fa7052782ed3a64c13.png](https://i-blog.csdnimg.cn/blog_migrate/61ddc9f6e879ec7bda02e85d669617f0.jpeg)
下一步
![e5959d4feda2c1502520ab411a619f62.png](https://i-blog.csdnimg.cn/blog_migrate/84a2e2f52fec5c47778d677e19fa2de0.jpeg)
选择需要部署的server
![20c4c5d2ee64111b7420fe4abcc3139b.png](https://i-blog.csdnimg.cn/blog_migrate/6568f9270443eb4213a5e79336bcd0c6.jpeg)
配置部署信息
![921ba4684541801267721bf3ac45e429.png](https://i-blog.csdnimg.cn/blog_migrate/0d21544a012fc67bee04a217f267e353.jpeg)
源可访问性需要修改为,以提供所有目标将访问此应用程序文件的位置。这通常是一个共享目录。必须确保应用程序文件存在于此位置, 且每个目标都可以访问此位置。
![08e11ab648084ebaed52c82baa820beb.png](https://i-blog.csdnimg.cn/blog_migrate/d475ace5c32162dbe14fe5ff3d1c2758.jpeg)
点击完成
![d46f8ba435647ffe3054de6ad9fbcc91.png](https://i-blog.csdnimg.cn/blog_migrate/5eb508f9a725afd123ef47fd5bd49336.jpeg)
点击激活更改
![24fe594f6124b832ef713375a30dfe37.png](https://i-blog.csdnimg.cn/blog_migrate/cfa8858a9e3d0ffee3e2f887d825e929.jpeg)
查看部署状态
![ffa106023a9315fd220aaadff5286d77.png](https://i-blog.csdnimg.cn/blog_migrate/409c10aada2f2ad1d1b4c3163e37d2a4.jpeg)
数据源配置
进入weblogic 管理界面点击 服务-数据源-新建
![4d8f3e5c937c4e9480f50eeaac48b1e2.png](https://i-blog.csdnimg.cn/blog_migrate/9e947a1db7682e30908df2e54d6d4a0b.jpeg)
新建一般数据源
![d3a6c1e75bdaadc8c8933dd67d0b2021.png](https://i-blog.csdnimg.cn/blog_migrate/310c3491dbf5d0771f0239d3d460d0a6.jpeg)
数据源名称可自定义,例如JDBCINTTEST
JNDI名称需和weblogic.xml中保持一致,建议JNDI名称和weblogic.xml 、web.xml中均保持一致。选择相应的数据库类型
![472facb11dec4e46982b695901684dc0.png](https://i-blog.csdnimg.cn/blog_migrate/940f450f659af1d508ca18e9e4dc5d81.jpeg)
以及对应的数据库驱动程序
![7e61d71272dbd3b0f1d382a8767d6d4b.png](https://i-blog.csdnimg.cn/blog_migrate/a35fe979ceb9caa3b778205860431d03.jpeg)
根据数据库连接信息配置JDBC数据源,点击下一步点击测试配置可检测是否连接成功
![8cdcb04f1ee7d5d401831e3a7376390a.png](https://i-blog.csdnimg.cn/blog_migrate/ba3c282bf35db71ac47313b0c5b16aa7.jpeg)
选择数据源目标,可指向一个或多个server,也可以指向集群服务
![6dbb5a334a06a204f769b00ba1523180.png](https://i-blog.csdnimg.cn/blog_migrate/88b3bbab330c9e9549490f4a406b1575.jpeg)
数据源配置完毕之后点击激活更改完成数据源配置
![69d24061829558b60c537e436a44657c.png](https://i-blog.csdnimg.cn/blog_migrate/f90f3c771b72c0cd889451da469e3729.jpeg)
相关编码配置
修改服务器编码
1、执行命令echo $LANG查看编码格式;
2、如果编码格式不是zhCN.gb18030,则使用命令vi .bashprofile,输入export LANG=zh_CN.gb18030;
3、执行. ./.bash_profile;
修改setDomainEnv.sh
在文件末尾增加
JAVAOPTIONS="${JAVAOPTIONS} -Dfile.encoding=gbk"
export JAVA_OPTIONS
如果遇到使用脚本启动不乱码使用weblogic*控制台启动乱码情况,需要在startWebLogic.sh* 中增加
CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDRECWEBLOGICCLASSPATH}"
export LCALL="zhCN.gb18030" 在脚本中设置字符集编码
Domain内存分配
1、admin server与manager server内存分配缺陷描述
Weblogic服务器一般会为每一个业务系统设计一个或多个域(domain),每一个域(domain)服务主体必须由Admin server和Manage Server两类Server组成,两类Server都需要占用一定的内存资源(人工配置),Manage Server负责运行业务,Admin Server则只负责管理Manage Server,只是在启动Weblogic和需要调整Weblogic配置时才使用,启动Weblogic后,Admin Server关闭也不影响业务的正常使用,所以Manage Server确实需要大内存支持,但Admin Server则只需要500MB左右内存来维持它开启着随时待命而已。
Admin server和Manage Server默认设计获取内存配置的方式为:共同调用WEBLOGIC安装目录bea/userprojects/domain/{domainname}/bin目录下的setDomainEnv.sh文件中的“MEM_ARGS”参数来获取内存大小,导致Admin server和Manage Server都获取到了相同大小的内存。
例如:因为业务的性能需要为Manage Server配置4GB内存,即在setDOMAINenv.sh文件中配置4GB的内存大小,
MEM_ARGS="-Xms4096m -Xmx4096m
这样,Manage Server确实可以获得4GB内存,但是,每个Domain(域)下面的Admin Server也同样获得了4GB,Admin Server在此浪费3.5GB内存,如果一个系统有多个Domain(域),或是一台服务器上部署有多套系统的Weblogic,浪费的内存总数则需相乘。
上述情况属于Weblogic设计与配置上存在的双重缺陷。
2、admin server与manager server内存分配缺陷带来的影响
(1)、多套系统共用服务器,以分别创建不同域的方式区分系统,或,一套系统,不同的模块分别以创建不同域来隔离模块服务的方式,形成了一台Weblogic服务器上创建了多个域的情况,每一个域必定有一个Admin Server,使得多个Admin server存在于同一台服务器上的现实情况,在大型公司中,由于中间件服务器数量的庞大,对硬件设备的浪费是惊人的。
(2)、在内存配置本身不富裕的系统中,浪费的大量内存使得系统性能急剧下降,甚至引起服务器停止响应与down机
(3)、由于Admin Server浪费了不必要的内存空间,原本可以将多套系统Weblogic共同部署于同一台服务器即可解决的,不得不再多配置一台服务器设备,不仅是硬件设备资源的浪费,还会加大运维人力资源的投入、电力资源的投入、机房空间资源的投入、网络设备资源的投入等等
3、优化策略
3.1内存获取方式架构设计优化调整
3.1.1优化前旧架构(默认)
![fbcc2d31b5e560f9fec5d201439a7f06.png](https://i-blog.csdnimg.cn/blog_migrate/91344bf662c8bf153e7b1b2ef366ee67.jpeg)
3.1.2优化后新架构
![c852fb986200fae5b65e1dac1ec21630.png](https://i-blog.csdnimg.cn/blog_migrate/fbb7c201c84999aa06d508ca578103a5.jpeg)
3.2 内存获取配置代码调整
为每个DOMAIN(域)的bin目录下startWebLogic.sh文件,增加以下内容:
在 echo "JAVA Memory arguments:${MEM_ARGS}" 前面加入如下行:
if [ "${SERVERNAME}" = "AdminServer" ] ; then MEMARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m" fi
重启Weblogic即调整完毕。