weblogic

在weblogic用户环境变量中加入export WLS_STDOUT_LOG=web.stdout.log  、export WLS_STDERR_LOG=web.stderr.log两条,将weblogic控制台和部署工程的全部日志信息打印输出到web.stdout.log文件,随着时间的增长web.stdout.log文件越来越大。如何能实现将输出的日志文件回滚,或按大小重新保存,比如容量到50M后,重新生成新的文件名进行保存?

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


 

 

默认weblogic中控制台启动之后会在命令行中标准输出一些信息,在没有使用log4j的情况下,想要获取在控制台输出的信息需要进行一些设置

打开C:\bea\user_projects\domains\域名\startWebLogic.cmd文件

set DOMAIN_HOME=C:\bea\user_projects\domains\base_domain_second

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*

 修改call这行为如下代码

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> stdout.log   2> stderr.log%*

也可以这样写

call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1> c:\stdout.log   2> c:\stderr.log%*

重启服务,控制台信息就被转移到你指定的文件中了。希望对大家有所帮助。

使用过程中发现重启服务会出现日志覆盖的情况

解决思路如下:
在startWebLogic.cmd文件中增加时间相关的字符串,拼接成文件名,保证每次重启的时候文件不会重名

具体代码如下:
// 设置 yyyy_mm_dd 格式的日期
set sbtmpdate=%date:~0,4%_%date:~5,2%_%date:~8,2%
// 设置 HHmmss 格式的时间
set sbtmptime=%time:~0,2%%time:~3,2%%time:~6,2%
// 随机数
set randomtmp=%random%
set r=%sbtmpdate%_%sbtmptime%.%randomtmp%

// 将变量赋值到文件名中
call "%DOMAIN_HOME%\bin\startWebLogic.cmd" 1>stdMsg-%r%.log 2>stdErr-%r%.log%*

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

weblogic启动文件的说明

 

情况一:单独的应用服务器(只有一个服务器,这个服务器就是 adminServer)
startWebLogic.sh内容如下:
#!/bin/sh
 
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.
 
# *************************************************************************
# This script is used to start WebLogic Server for the domain in the
# current working directory. This script simply sets the SERVER_NAME
# variable and starts server.
#
# To create your own start script for your domain, all you need to set is
# SERVER_NAME, then starts the server.
#
# Other variables that startWLS takes are:
#
# WLS_USER     - cleartext user for server startup
# WLS_PW       - cleartext password for server startup
# PRODUCTION_MODE    - true for production mode servers, false for
#                development mode
# JAVA_OPTIONS - Java command-line options for running the server. (These
#                will be tagged on to the end of the JAVA_VM and MEM_ARGS)
# JAVA_VM      - The java arg specifying the VM to run. (i.e. -server,
#                -hotspot, etc.)
# MEM_ARGS     - The variable to override the standard memory arguments
#                passed to java
#
# For additional information, refer to the WebLogic Server Administration
# Console Online Help(/ConsoleHelp/startstop.html)
# *************************************************************************
 
# Initialize the common environment.
 
WL_HOME="/neusoft/bea/weblogic81"
 
PRODUCTION_MODE=""
 
JAVA_VENDOR="IBM"
 
JAVA_HOME="/bea/IBMJava2-ppc64-142"
 
JAVA_OPTIONS="-Dibm.stream.nio=true"
 
#指定weblogic的最小内存和最大内存
MEM_ARGS="-Xms1248m -Xmx1248m"
 
# Call commEnv here AFTER setting the java_vendor to get common environmental settings.
 
. ${WL_HOME}/common/bin/commEnv.sh
 
# Set SERVER_NAME to the name of the server you wish to start up.
 
SERVER_NAME="myserver"
 
CLASSPATH="${WEBLOGIC_CLASSPATH}:${POINTBASE_CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar:${WL_HOME}/server/lib/webservices.jar:${CLASSPATH}"
export CLASSPATH
 
# Call WebLogic Server
 
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "."
echo "PATH=${PATH}"
echo "."
echo "***************************************************"
echo "* To start WebLogic Server, use a username and   *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://[hostname]:[port]/console    *"
echo "***************************************************"
 
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server
 
 

这个启动文件会直接在控制台窗口输出weblogic的控制台信息,当你退出是也会关闭weblogic。如果你希望退出控制台不退出weblogic,则你只需要修改此文件的最后一段。在之前加上nohup,并指定输入的日志文件。如:
 
 
 
 
……………………….
nohup ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server >cdsbserver_1.log &

 
 
情况二:当你的应用部署在群集中无中或在被管理服务器上。
startAppServer.sh的文件内容如下:
#!/bin/sh
# ****************************************************************************
# This script is used to start a managed WebLogic Server for the domain in the
# current working directory. This script reads in the SERVER_NAME and
# ADMIN_URL as positional parameters, sets the SERVER_NAME variable, then
# starts the server.
#
# Other variables that startWLS takes are:
#
# WLS_USER       - cleartext user for server startup
# WLS_PW         - cleartext password for server startup
# PRODUCTION_MODE      - Set to true for production mode servers, false for
#                  development mode
# JAVA_OPTIONS   - Java command-line options for running the server. (These
#                  will be tagged on to the end of the JAVA_VM and MEM_ARGS)
# JAVA_VM        - The java arg specifying the VM to run. (i.e. -server,
#                  -hotspot, etc.)
# MEM_ARGS       - The variable to override the standard memory arguments
#                  passed to java
#
# For additional information, refer to the WebLogic Server Administration Guide
# (/ConsoleHelp/startstop.html).
# ****************************************************************************
 
 
# set up WL_HOME, the root directory of your WebLogic installation
WL_HOME="/bea/bea814/weblogic81"
 
# set up common environment
# Set Production Mode. When this is set to true, the server starts up in
# production mode. When set to false, the server starts up in development
# mode. If it is not set, it will default to false.
# 指定为产品模式
PRODUCTION_MODE="true"
 
# Set JAVA_VENDOR to java virtual machine you want to run on server side.
JAVA_VENDOR="IBM"
 
# Set JAVA_HOME to java virtual machine you want to run on server side.
JAVA_HOME="/bea/IBMJava2-ppc64-142"
 
. "${WL_HOME}/common/bin/commEnv.sh"
 
# Set SERVER_NAME to the name of the server you wish to start up.
# 指定管理服务器的地址和端口
ADMIN_URL=http://172.16.6.1:7001
# 指定被管理服务器的名称
SERVER_NAME=appServer5
 
# Set WLS_USER equal to your system username and WLS_PW equal
# to your system password for no username and password prompt
# during server startup. Both are required to bypass the startup
# prompt.
# 指定weblogic管理员的用户名和密码
WLS_USER=weblogic
WLS_PW=weblogic
 
# Set JAVA_VM to java virtual machine you want to run on server side.
# JAVA_VM=""
 
# Set JAVA_OPTIONS to the java flags you want to pass to the vm. If there
# are more than one, include quotes around them. For instance:
# JAVA_OPTIONS="-Dweblogic.attribute=value -Djava.attribute=value"
# 使用IBM的JDK有可能会出现IO错误和编码错误,这里将nio设为true
JAVA_OPTIONS="-Dibm.stream.nio=true"
 
usage()
{
 echo "Need to set SERVER_NAME and ADMIN_URL environment variables or specify"
 echo "them in command line:"
 echo 'Usage: ./startManagedWebLogic.sh [SERVER_NAME] [ADMIN_URL]'
 echo "for example:"
 echo './startManagedWebLogic.sh managedserver1 http://localhost:7001'
 exit 1
}
 
# Check for variables SERVER_NAME and ADMIN_URL
# SERVER_NAME and ADMIN_URL must by specified before starting a managed server,
# detailed information can be found at /adminguide/startstop.html.
if [ ${#} = 0 ]; then
 if [ "x${SERVER_NAME}" = "x" -o "x${ADMIN_URL}" = "x" ]; then
    usage
 fi
elif [ ${#} = 1 ]; then
 SERVER_NAME=${1}
 if [ "x${ADMIN_URL}" = "x" ]; then
    usage
 fi
elif [ ${#} = 2 ]; then
 SERVER_NAME=${1}
 ADMIN_URL=${2}
else
    usage
fi
 
# Start WebLogic server
# Reset number of open file descriptors in the current process
# This function is defined in commEnv.sh
resetFd
 
 
#指定当用weblogic的最小内存和最大内存
MEM_ARGS="-Xms1248m -Xmx1536m"
 
CLASSPATH="${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/jre/lib/rt.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar${CLASSPATHSEP}${CLASSPATH}"
export CLASSPATH
 
# Start WebLogic server
echo CLASSPATH="${CLASSPATH}"
echo
echo PATH="${PATH}"
echo
echo "***************************************************"
echo "* To start WebLogic Server, use a username and   *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://<hostname>:<port>/console    *"
echo "***************************************************"
 
nohup "$JAVA_HOME/bin/java" ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}     /
 -Dweblogic.Name=${SERVER_NAME}                                 /
 -Dweblogic.management.username=${WLS_USER}                     /
 -Dweblogic.management.password=${WLS_PW}                       /
 -Dweblogic.management.server=${ADMIN_URL}                      /
 -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" /
 -Djava.awt.headless=true -verbose:gc                                      /
   weblogic.Server >appServer5.log &

 
注意:MEM_ARGS="-Xms1248m -Xmx1536m"
对于32位操作系统最大不能超过2G,在实际中一般最大内存配置1.5G
 
说明:
可以设置-Xms(最小使用内存) -Xmx(最大使用内存),-XX:MaxPermSize
最大使用内存:
对于UNIX而言,一般不应超过物理内存的75%;
对于Windows, 一般不应超过物理内存的50%;
 
-XX:MaxPermSize 一般应为mx(最大使用内存)的一半;尝试设置-XX:MaxPermSize=128m
注意:对于IBM的虚拟机没有MaxPermSize设置,不然系统不能启动

 


<think>好的,用户让我介绍WebLogic,我需要先回忆一下相关知识,确保信息准确。首先,WebLogic是Oracle的一个产品,属于应用服务器,用于企业级应用。我得解释它的基本概念,然后可能涉及核心功能,比如支持Java EE,分布式环境,集群、事务管理等。接着应该提到它的架构,可能有管理服务器、受管服务器、节点管理器这些组件。还要说说它的优点,比如高可用性、扩展性、安全性,以及适用的场景,比如大型企业的复杂系统。可能用户想知道它和其他服务器如Tomcat的区别,或者为什么选择WebLogic。需要比较时,指出Tomcat更轻量,适合简单应用,而WebLogic适合需要全面支持的企业环境。另外,用户可能需要知道版本历史和当前状态,比如现在是否还常用,有没有替代品。最后,应用场景的例子,比如金融、电信行业,这些对稳定性要求高的领域。要确保用中文,结构清晰,分点说明,同时注意使用正确的LaTeX格式,不过用户的问题里没有数学内容,可能不需要用到。不过系统级指令要求行内公式用$...$,独立公式用$$...$$,但这里应该用不上。检查有没有术语错误,比如J2EE现在叫Jakarta EE,可能需要提到。另外,用户可能关心部署和管理工具,比如控制台和脚本工具。安全方面,WebLogic提供哪些机制,比如SSL、角色权限。总之,组织信息时要分部分,逐步介绍,确保用户能理解WebLogic的作用、特点和使用场景。可能需要避免太技术化的术语,用更易懂的语言解释。最后确认是否遗漏重要点,比如与其他Oracle产品的集成,或者云支持的情况,比如是否支持容器化部署,Kubernetes等。现在把这些整理成一个结构化的回答,分点说明,帮助用户逐步了解。</think>### Weblogic 介绍 #### 1. **基本概念** **WebLogic** 是 Oracle 公司推出的 **Java EE(现 Jakarta EE)应用服务器**,主要用于构建、部署和管理企业级分布式应用。它支持完整的 Java EE 规范,提供高性能、高可靠性的运行环境,适用于复杂的企业级系统。 --- #### 2. **核心功能** - **Java EE 支持** 兼容 Servlet、JSP、EJB、JMS 等标准,提供完整的 Java EE 容器(Web 容器、EJB 容器)。 - **集群与负载均衡** 支持多服务器集群部署,自动分配请求流量(例如:$ \text{负载均衡算法} = \text{轮询/权重} $)。 - **事务管理** 提供分布式事务处理(XA 协议),确保数据一致性。 - **安全管理** 集成 LDAP、SSL、角色权限控制等机制。 - **监控与管理工具** 通过 WebLogic 控制台或 WLST(WebLogic Scripting Tool)进行配置与运维。 --- #### 3. **架构组成** - **管理服务器(Admin Server)** 核心控制节点,负责配置和监控整个域(Domain)。 - **受管服务器(Managed Server)** 实际运行业务应用的节点,由管理服务器统一管理。 - **节点管理器(Node Manager)** 用于远程启动/停止受管服务器。 - **域(Domain)** 逻辑管理单元,包含一组关联的服务器、应用和资源配置。 --- #### 4. **核心优势** - **高可用性** 通过集群和故障转移(Failover)机制减少停机风险。 - **扩展性** 支持横向扩展,应对高并发场景(例如:$ \text{吞吐量} \propto \text{服务器数量} $)。 - **企业级集成** 与 Oracle 数据库、中间件(如 SOA Suite)深度整合。 - **热部署** 支持不停机更新应用。 --- #### 5. **典型应用场景** - **金融系统** 银行核心交易系统、支付网关(需强事务和高可靠性)。 - **电信计费系统** 高并发话单处理与实时计费。 - **大型电商平台** 支持秒杀、订单处理等峰值流量场景。 - **政府/企业 ERP** 复杂业务流程与多系统集成。 --- #### 6. **与其他服务器的对比** | **特性** | **WebLogic** | **Tomcat** | |----------------|-----------------------------|-----------------------------| | **定位** | 企业级应用服务器 | 轻量级 Web 容器 | | **Java EE 支持**| 完整规范(EJB/JMS 等) | 仅 Servlet/JSP | | **集群能力** | 内置高级集群功能 | 需依赖第三方工具(如 Nginx)| | **适用场景** | 大型复杂系统 | 小型应用或微服务 | --- #### 7. **版本与发展** - **历史版本**:WebLogic 8.x(J2EE 1.4)、10.x(Java EE 5)、12c(云优化版本)。 - **当前版本**:WebLogic 14.x(支持 Jakarta EE 8 和 JDK 11+)。 - **云原生趋势**:支持 Kubernetes 容器化部署(通过 Operator 工具)。 --- #### 8. **学习与使用建议** - **入门路径**: 1. 掌握 Java EE 基础(Servlet/JSP/EJB); 2. 熟悉 WebLogic 控制台与 WLST 脚本; 3. 实践集群配置与性能调优。 - **资源推荐**: - Oracle 官方文档 - 《WebLogic Server 12c 高级管理与开发》 - GitHub 开源部署示例(如 Docker+WebLogic)。 --- 通过以上介绍,您可以初步了解 WebLogic 的核心能力与适用场景。如需深入特定功能(如集群配置或安全加固),可进一步探讨!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值