百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Weblogic使用、注意事项和实战 weblogic integration

lipiwang 2024-10-23 13:57 13 浏览 0 评论

Weblogic使用以及注意事项和实战1. 简介1.1 Domain 1.2 Managed Server 1.3 Machine 2. 基础操作2.1 weblogic安装2.2 Nginx安装(负载均衡)2.3 weblogic发布服务2.4 服务基于weblogic集群2.5 发布服务测试(单机+负载均衡)2.5.1 weblogic直连测试--单机2.5.2 weblogic+Nginx测试--负载均衡2.6 weblogic集群测试3. 基础配置3.1 weblogic系统配置3.2 发布服务配置3.3 查看配置所在文件位置4. 通用命令5. 已知问题和遇到的坑5.1 服务部署失败5.2 weblogic初步访问很慢

1. 简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

通俗的讲weblogic是一种web容器,如果你知道apache,tomcat,iis你就应该知道,就是把我们开发的java应用程序运行起来,并提供服务的一种程序。

1.1 Domain

域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。

Domain 中包含一个特殊的 WebLogic 服务器实例,叫做 Administration Server,这是我们配置、管理Domain中所有资源的核心。通常,我们称加入Domain中的其他实例为 Managed Server,所有的Web应用、EJB、Web Services和其他资源都部署在这些服务器上。

我们可以按照以下的一些标准来组织Domain:程序的逻辑划分,例如一个电商网站,可以将前台作为一个Domain,订单处理作为一个Domain,其他资源作为一个Domain;以物理地域为划分,例如一个跨国公司的网站,每个国家可以建立一个Domain;以尺寸来划分。

1.2 Managed Server

被管理服务器是一个WebLogic Server的实例,他从Admin Server那里获取配置信息。通常在Managed Server上部署自己的服务、组件或应用。基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,如果配置文件发生了改变,Admin Server也会将改变推送到Managed Server上。

1.3 Machine

Machine 是指运行WebLogic Server实例的物理机器,通常与部属在其上的Managed Server相关连。Machine用于Node Manager(一个运行在物理服务器上的进程,可以远程重启Admin 和 Managed Server)重启失败的Managed Server,以及为集群的Managed Servers选择合适的Session存放位置(Session避免存放在同一台Machine上)。

2. 基础操作

2.1 weblogic安装

百度搜索


2.2 Nginx安装(负载均衡)

百度搜索


2.3 weblogic发布服务

1: 登录weblogic后,初始页面内容中点击左侧的部署,如图:

2: 点击安装,根据操作点击下一步 上传自己服务的war包注意:weblogic和Tomcat部署服务有区别,Tomcat会解压war包,weblogic不会解压war,所以上传war时候需要把对应环境的配置都调整好 选择服务所在的server,其他都默认下一步直接到完成,如图:

这里发布服务base不用选择,因为base服务状态是shutdown,只有adminserver是running状态

2.4 服务基于weblogic集群

暂无


2.5 发布服务测试(单机+负载均衡)

2.5.1 weblogic直连测试--单机

访问http://IP:7001/服务目录

2.5.2 weblogic+Nginx测试--负载均衡

访问http://IP:7001/服务目录

总结:以上2种测试效果其实是一样,只是从部署结构上一个是单机(单节点)直连一个是负载均衡(多节点)

2.6 weblogic集群测试

暂无


3. 基础配置

3.1 weblogic系统配置

系统配置只需要在对应的Server上配置,不需要重新配置,如果创建新的Server就需要重新配置

1:端架左侧菜单环境-》服务器,进入页面后点击我们发布的服务AdminServer(管理)

2:进入到AdminServer的配置下,选择头部的“超载”菜单,下面有一个最大线程阻塞时间建议1200(默认是600)可以根据实际调整

3:选择头部“并发”菜单,最大并发新建线程数建议300(默认100) 最大并发长时间请求数100(默认100),可以根据实际调整

4:点击“服务器启动”菜单 ,在下面的参数设置如下内容

空间大小配置内容:

-Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=1024m

配置说明:

-Xmx    Java Heap最大值,默认值为物理内存的1/4,最佳设值视物理内存大小及计算机内其他内存开销而定

-Xms    Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-XX:MaxPermSize     Perm(俗称方法区)占整个堆内存的最大值


日志级别,线程大小配置

-Xms2048m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -XX:-HeapDumpOnOutOfMemoryError -Dweblogic.threadpool.MinPoolSize=50 -Dweblogic.threadpool.MaxPoolSize=150 -Dfile.encoding=UTF8 -Dlog4jLevel=debug -Djava.awt.headless=true

日志级别说明

DEBUG:指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。
   
INFO:消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。
   
WARN:表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。
   
ERROR:指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。
   
FATAL:指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。


日志详细介绍

服务器日志 每个 WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。默认情况下,服务器日志文件位于服务器实例根目录下的 logs 目录中;例如,DOMAIN_NAME\servers\SERVER_NAME\logs\SERVER_NAME.log,其中 DOMAIN_NAME 是在其中定位域的目录的名称,而 SERVER_NAME 是服务器的名称。

可在管理控制台的Gernal属性页中设置该文件的路径及名字,错误的输出的等级等。每条日志消息都具有关联的严重程度级别。日志消息的级别大致说明其重要级别或紧急级别。WebLogic Server 具有从 TRACE 到 EMERGENCY 的预定义严重程度,在将日志请求调度给记录器时,会将对应严重程度转换为日志级别。日志级别有如下取值 可以在记录器和处理程序上设置日志严重程度级别。在记录器上进行设置时,任何处理程序都不会收到记录器已拒绝的事件。例如,如果在记录器上将日志级别设置为 NOTICE,则任何处理程序都不会收到 INFO 级别的事件。在处理程序上设置日志级别时,仅会对处理程序应用限制,而不会对其他程序应用限制。例如,为文件处理程序关闭 DEBUG 意味着不会将任何 DEBUG 消息写入日志文件,但会将 DEBUG 消息将写入标准输出。

DOMAIN日志 除将消息写入服务器日志文件外,每个服务器实例还会将其一部分消息转发到域范围日志文件。默认情况下,服务器仅转发严重程度级别为 NOTICE 或更高的消息。虽然可以对转发哪些消息进行修改,但服务器永远不转发严重程度级别为 DEBUG 的消息。域日志文件提供用于查看域整体状态的中央位置。域日志驻留在管理服务器的 logs 目录中。域日志文件的默认名称和位置是 DOMAIN_NAME\servers\ADMIN_SERVER_NAME\logs\DOMAIN_NAME.log,其中,DOMAIN_NAME 是在其中定位域的目录的名称,而 ADMIN_SERVER_NAME 是管理服务器的名称。域日志中记录的时间戳是发出消息的服务器的时间戳。域日志中的日志记录不会按照其时间戳顺序写入;会在消息到达后立即将其写入。有可能受管服务器在一段时间内无法与管理服务器联系。在这种情况下,消息被缓冲在本地并在重新连接服务器之后发送到管理服务器。

HTTP访问日志 在WebLogic中可以对用HTTP,HTTPS协议访问的服务器上的文件都做记录,该LOG文件默认的名字为Access.log,内容如下,该文件具体记录在某个时间,某个IP地址的客户端访问了服务器上的那个文件。

HTTP 子系统在文本文件中保留所有 HTTP 事务的日志。HTTP 访问日志的默认位置和滚动策略与服务器日志相同。可以为每个服务器或每个定义的虚拟主机设置用于定义 HTTP 访问日志行为的特性。

服务器实例如何将消息转发到域日志 为将消息转发到域日志,每个服务器实例会广播其日志消息。服务器会广播除严重程度级别为DEBUG 的消息以外的所有消息和消息文本。管理服务器会监听以上消息中的一部分消息,并将它们写入域日志文件。为监听这些消息,管理服务器在每台受管服务器中注册监听器。默认情况下,该监听器包含一个筛选器,仅允许将严重程度级别为 NOTICE 和更高级别的消息转发到管理服务器。具体机制参见下图

对于任何给定WebLogic Server 实例,可以覆盖默认筛选器并创建一个日志筛选器,从而将一组不同的消息集写入域日志文件。如果管理服务器不可用,则受管服务器继续将消息写入其本地的服务器日志文件。但在默认情况下,当重新连接到服务器时,并不会将断开连接期间写入的所有消息转发到域日志文件。受管服务器在缓冲区中保留指定数量的消息,从而在重新连接到服务器时可以将它们转发到管理服务器。在缓冲区中保留的消息数量由 LogMBean 上的 DomainLogBroadcasterBufferSize 特性配置。默认值为 1。如配置为使用默认值,则在重新连接管理服务器后,仅将最后记录的消息转发到该服务器。例如,如果管理服务器在两小时不可用之后恢复,则域日志中不包含这两小时内生成的任何消息。如果已配置大于 1 的值,则在受管服务器重新连接到管理服务器之后,会将对应数量的消息转发到域日志。注意:这会导致在域日志文件中,具有较早时间戳的消息列在具有较晚时间戳的消息之后。当之前断开连接的受管服务器的缓冲区中消息刷新到管理服务器之后,即使这些消息是在域日志中原有消息之前生成的,它们也会直接追加到域日志中。日志消息格式 在 WebLogic Server 实例向服务器日志文件中写入消息时,每条消息的第一行以 #### 开头,后跟该消息的特性。每个特性都括在尖括号中。消息的特性为:按区域设置格式的时间戳、严重程度、子系统、计算机名、服务器名、线程 ID、用户 ID、事务 ID、诊断上下文 ID、原始时间值、消息 ID 和消息文本。(后面的消息特性部分中描述各个特性。) 如果一条消息不是在事务上下文中记录的,则即使不包含事务 ID,也会包含用于事务 ID 的尖括号。如果该消息中包含一个堆栈跟踪,则该堆栈跟踪包含在消息文本中。WebLogic Server 为其写入的消息使用主机的默认字符编码。标准输出和标准错误中输出的格式 在 WebLogic Server 实例将一条消息写入标准输出时, 消息特性为:按区域设置格式的时间戳、严重程度、子系统、消息 ID 和消息文本。图形界面操作 登录weblogic后台进行相关操作 1.日志相关参数设置 左侧菜单:环境–>服务器 右侧菜单:服务器–>日志记录 只找到AdminServer.log、access.log,进行一些操作 如:设置日志文件的回滚,设置日志文件名等 2.日志查看 左侧菜单:环境–>服务器 右侧菜单:点击服务器名称 左侧菜单:诊断–>日志文件 右侧菜单:选中相关日志点击查看


5: 点击proddomain-》配置-》并发

参数默认值都是50

3.2 发布服务配置

发布服务的配置是每次发布服务后都需要重新配置一次

1:回到初始页面可以看到发布好的服务(如果不知道可以点击左侧的部署菜单)

2:选中发布的服务进入到如图界面

3:点击配置进入配置内容,这里主要是调整2个参数 最大内存中会话数(默认是1) JSP页面检查(默认是1)都调整成-1 可以查看后面框定的注释说明-1是不进行任何检查不占用资源

3.3 查看配置所在文件位置

4. 通用命令

1:启动weblogic命令

cd /usr/local/weblogic/weblogic/user_projects/proddomain/bin

nohup ./startWebLogic.sh


2:查看weblogic进程

ps -ef|grep weblogic


3:查看服务器weblogic资源使用

top 查看服务器进程情况


4:停止weblogic命令

cd /usr/local/weblogic/weblogic/user_projects/proddomain/bin

./stopWebLogic.sh


5:日志查看

cd /usr/local/weblogic/weblogic/user_projects/proddomain/logs


5. 已知问题和遇到的坑

5.1 服务部署失败

部署服务时候回出现服务发布不成功,重启weblogic服务后恢复


5.2 weblogic初步访问很慢

目前这个是已知问题Java JVM和Linux环境匹配时候( 实际是JVM在Linux下的bug:他想调用一个随机函数,但是取不到。)

1)较好的解决办法:
      在Weblogic启动参数里添加 “-D java.security.egd=file:/dev/./urandom” (/dev/urandom 无法启动)
2)最差的解决办法:
      执行命令 mv /dev/random /dev/random.ORIG ; ln /dev/urandom /dev/random
  将/dev/random 指向/dev/urandom
3)最好的解决办法:
      修改Linux上Weblogic使用的jdk $JAVA_HOME/jre/lib/security/java.security 文件
  将securerandom.source=file:/dev/random 修改为 securerandom.source=file:/dev/./urandom

这样可以解决任何一个域Weblogic启动慢的问题的问题

相关推荐

前端入门——css 网格轨道详细介绍

上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...

Islands Architecture(孤岛架构)在携程新版首页的实践

一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...

HTML中script标签中的那些属性

HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...

CSS 中各种居中你真的玩明白了么

页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...

CSS样式更改——列表、表格和轮廓

上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...

一文吃透 CSS Flex 布局

原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...

css实现多行文本的展开收起

背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...

css 垂直居中的几种实现方式

前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...

WordPress固定链接设置

WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...

面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿

前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...

3种CSS清除浮动的方法

今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...

2025 年 CSS 终于要支持强大的自定义函数了?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...

css3属性(transform)的一个css3动画小应用

闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...

CSS基础知识(七)CSS背景

一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...

CSS 水平居中方式二

<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...

取消回复欢迎 发表评论: