weblogic问题
- 格式:doc
- 大小:35.50 KB
- 文档页数:3
64位weblogic11g安装部署以及常见问题解决方案目录(一) 安装 (1)在Windows 64位操作系统安装Weblogic的注意事项 (3)(二) 部署运行 (3)1. 包引入错误 (3)2.乱码现象 (3)3.mime-typeType配置问题 (4)4.应用不存在 (4)5.ClassNotFoundException: org.hibernate.hql.ast.HqlToken (4)6.weblogic部署war包action不能访问问题解决方法[There is no Action mapped fornamespace / and action name] (5)ng.StackOverflowError (5)(一)安装我们在64位的服务器上为提高性能要安装64位的weblogic。
经常在网上看到有人问,weblogic有64位的么?weblogic需要破解么?weblogic有专门的64位版本,这里安装的是weblogic11g,也就是10.3.6版本,12c的版本安装应该类似。
weblogic从bea被oracle收购后,不需要破解,就只有授权。
什么意思呢?就是说从oracle官网上下载的weblogic 就是全功能版本,不管是集群还是其他,功能没有任何限制。
但是如果要用于商业环境,必须要向oracle买license,当然可以偷偷的用,那就是盗版,侵权,有一天oracle可以告的破产……。
1、下载64位weblogic,打下这个地址::// oracle/technetwork/middleware/ias/downloads/wls-main-097127.html,在这里可以看到除了mac os X操作系统外,其他系统的64位都是同一个版本,wls1036_generic.jar。
如下列图,weblogic的下载需要注册一个oracle官网的帐号。
2、下载64位JDK,我们下载的文件wls1036_generic.jar文件里面不包括JDK,如有可能, 请尽量在Windows/Linux平台下使用JRockit虚拟机,下载地址::// oracle/technetwork/middleware/jrockit/downloads/index.html。
A:weblogic无法启动,错误信息包含如下:<Error> <EmbeddedLDAP> <000000> <Error opening the TransactionLog: ./myserver/ldap/ldapfiles/EmbeddedLDAP.tran: Permission denied>Q:LDAP启动失败,导致的问题可能是用root账户启动了weblogic。
检查mydomain目录下myserver/ldap/ldapfiles下的文件权限,是否是weblogic用户组,如果还是无法启动,请删除.tran文件。
A:weblogic无法启动,错误信息包含如下:<Error> <Deployer> <BEA-149204> <The deployment framework was unable to register with the Data Replication Service.<Error> <Deployer> <BEA-149601> <The deployment framework was unable to resume accepting requests.>Q:问题是管理域无法与用户域通信。
查看linux系统主机名,查看/etc/hosts文件,看是否有如下一行主机记录,如果没有,请将这一行记录加入到/etc/hosts文件中。
127.0.0.1 localhost.localdomain localhost 没有这一行记录,就会导致启动失败,一般在安装系统时,设置了主机名、有两块网卡,在设置主机名时,上面的记录就没有了。
A:weblogic无法启动,错误信息如下:The WebLogic Server did not start up properly. .UnknownHostException: MyLinux: MyLinux at.InetAddress.getLocalHost(InetAddress.java:1191) atweblogic.rjvm.JVMID.setLocalID(JVMID.java:124) atweblogic.rjvm.JVMID.localID(JVMID.java:104)Q:主机包含多个IP地址,一般为配置时未更新监听地址,修改config.xml文件的listen address即可正常启动;1.WSNAT_CAT:1287: WARN: Forced shutdown of client这个问题主要可能的原因有三个:一是Client端由于长时间连接Server,但却没有作任何的请求,这时,他会被断掉;二是由于Server在处理Client的请求时,发生超时引起的;三是由于在处理Client发起的事务时,超过tpbegin所制定的时间,也会报告这个信息。
Weblogic项目部署1、使用weblogic部署项目时,首先要启动一下开始菜单中weblogic目录下的QuickStart添加一个项目名称。
2、创建完项目之后,在weblogic安装目录\Middleware\user_projects\domains下面就可以看到自己刚刚创建的项目了。
随后启动目录下面的startWebLogic.cmd,启动完成后,启动ie 浏览器在地址栏输入http://localhost:7001/console,然后会出现一个登陆窗口,用户名为创建项目最后输入的名称,默认是weblogic,密码即为自己输入的密码.3、登陆进去之后我们就可以对我们所创建的项目进行配置了:配置服务项中的数据源:名称和JNDI名称我们都要使用项目中app-config-context.xml 配置文件项目中的JNDI名称。
这里使用的是sinosoftDataSource。
数据源配置完成后的参数: url:jdbc:oracle:thin:@10.32.14.73:1521:personal驱动程序类名称:oracle.jdbc.xa.client.OracleXADataSource由于在倒数第二步测试连接成功之后我就直接点击完成,导致最后一步没有完成,最后在部署项目完成之后项目报错找不到数据源,Unable to resolve 'sinosoftDataSource'. Resolved ''; remaining name 'sinosoftDataSource'之后就是在weblogic中部署需要部署的项目,也就是将项目中的webapps目录加载到weblogic中,一切完成之后就可以在浏览器中输入访问路径访问这个项目了。
weblogic部署中遇到的问题:1、内存溢出:修改项目路径\bin\目录下的setDomainEnv.cmd文件,将其中的内容:set MEM_PERM_SIZE_64BIT=-XX:PermSize=128mset MEM_PERM_SIZE_32BIT=-XX:PermSize=48m修改为:set MEM_PERM_SIZE_64BIT=-XX:PermSize=512mset MEM_PERM_SIZE_32BIT=-XX:PermSize=512mMyeclipse中的内存溢出修改:-Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m-XX:MaxPermSize=512m -Xverify:none -daPaths中添加一个名称为antlr-2.7.6rc1.jar。
、选择题1. 一个WLS实例配置了Multi-pool,分别为A,B,C,如果选择的是load- bala nee,如果一个请求获得conn ection从A,请问什么情况下会从B或者C拿connectionA. 都不能B. A 用完了C. A 坏了D. 按照负载均衡算法2. 你配置了一个集群环境,Adminserver 和8 个managedserver,Admi nServer在独立的hardware上,8个man aged server分在4个相同的hardware上,4个hardware分在两个房间,客户关心admin server的crash,请问你如何处理?A. 配置admin server 的clusterB. 将admin server力口入cluterC. 配置man aged server MSI3. 如果一个adm in server 禾口4 个man agedserver 在不同hardware 上,并且客户需要经常更新应用,展开目录格式,没有共享目录,则应该采用什么?A. external stageB. nostageC. stage4. 在jms中,如果一个Producer在发送消息时consumer没有alive,则如何设置才能使得consumer起来后接收到消息?A. co nsumer不可能接收到消息B. 一定要配置PersistaneeC. 只要消息没有timed out就可以D. eo nsumer总能够接收到消息5. 在一个eluster 环境中managed, 4 个server 分别安装在独立的物理硬件上,你发现在做垃圾回收(GQ时,每次的时间都特别长,你应该怎样做?A. 每个机器上run更多的serverB. eluster中有更多的serverC. 改变GC策略6. 在一个eluster环境中,4个managed server在4个机器上,没有共享的文件系统。
weblogic opatch failed with error code 73 WebLogic 的Opatch 失败并返回错误代码73 通常表示在补丁安装过程中发生了错误。
然而,要确定具体的问题原因,需要进一步查看WebLogic 的日志文件以获取更详细的错误信息。
以下是一些可能导致Opatch 失败的常见原因和解决方法:
1. 确保你满足WebLogic 的系统要求,并拥有适当的权限来执行Opatch 操作。
2. 检查补丁的适用性,确保你正在应用正确的补丁版本。
3. 检查日志文件以获取更详细的错误信息。
WebLogic 日志文件通常位于`DOMAIN_HOME/servers/AdminServer/logs`目录下,查看
`opatch.log`或其他相关日志文件以获取有关错误的详细描述。
4. 确保你的系统资源(如内存、磁盘空间等)足够,并且没有其他进程或任务占用了过多的资源。
5. 如果可能,尝试在干净的环境中进行补丁安装,例如在新的虚拟机或测试系统上进行测试。
6. 如果问题仍然存在,建议与WebLogic 的技术支持团队联系,他们可以提供针对你特定情况的更具体的帮助和支持。
请注意,以上仅是一些常见的解决方法,具体的解决方案可能因环境和情况而异。
深入研究日志文件并与技术支持团队合作通常是解决此类问题的最佳途径。
1、配置连接池通过IP/console进入管理控制台(如果不知道用户名和密码可以通过以下方式进入:右击StartWebLogic.sh快捷方式,选择“编辑”,在文本中可以找到用户名和密码)在左侧菜单中依次进入mydomain(自定义的域名称)-服务-JDBC-连接缓冲池点击“配置新的JDBC Connection Pool... ”数据类型选择:Oracle数据库驱动程序选择:Oracle's Driver (Thin) Version:9.0.1,0.2.0,10点击右下角的“继续”在名称中写入想要设置的连接池名称如myConnection数据库名称:要访问的数据库名称主机名:写入数据库服务器的主机名称或IP地址端口号默认为:1521数据库用户名称、密码点击“继续”在下一页中点击“测试驱动程序配置”显示“连接成功”点击“创建和部署”在新页面的列表中出现mpConnection的配置项连接池配置完毕2、配置JDBC数据源在管理控制台左侧菜单中依次进入mydomain(自定义的域名称)-服务-JDBC-数据源点击“配置新的JDBC Data Source”在名称中写入要配置的数据源名称myConnection在JNDI名称中写入访问的名字pc/ora9)点击“继续”在缓冲池名称中选择myConnection点击“继续”、“创建”在列表中出现myConnection配置项数据源配置完毕异常解决:<Error><JDBC><001059><Error during Data Source creatrion:mon. ResourceException:DataSource(MeetingDataSource) be created with non-exitstent Pool(connection or multi)(japool)<Error><EJB><010070><Error activating Platform_AppMng.jarException is:Unable to deploy EJB:AppInfoEntity from Platform_AppMng.jar:Weblogic.ejb20.WLDeploymentException:The DataSource with the JNDI name:DataSource Could not be located.Please ensure that the DataSourece has been deployede successfully and that the JNDI Name in your EJB Deployment descriptor is correct.<Error><Deployer><149231><The slave deployer was unable to set the activation state to true for The application_appsdir_platfor_AppMng.jarWeblogic.management.ApplicationException:activate failed forPlatform_AppMng.jarModule Name:Platform_AppMng.jar,Error:Exception activating module:EJBModule(Platform_AppMng.jar,status=PREPARED)Unable to deploy EJB:AppInfoEntity from Platform_AppMng.jarWeblogic.ejb20.WLDeploymentException:The DataSource with the JNDI name:DataSource Could not be located.Please ensure that the DataSourece has been deployede successfully and that the JNDI Name in your EJB Deployment descriptor is correct.<Alert><WebLogicServer><000297><Inconsistent security configuration,ng.Exception: Certificate expired or not yet valid:<Emergency><Security><090034><Not listening for SSL,java.io.IOException:Inconsistent Security configuration,Certificate expired or not yet valid:打开浏览器后页面报错:Error 500—Internal Server Error10.5.1 500—Internal Server Error后台报错:-log- Config:Failed get Property cop.databaseConnectionUser-log- Config:Failed get Property cop. databaseConnectionPassword-log- Config:Failed get Property cop.webappserver Initial Context Factory-log- Config:Failed get Property cop.webappserver ProviderUrl-exp- NotFoundException:unable to resolve ‘wegovDataSourece’-exp- getConnection is failed-exp- ng.NullPointerException-exp- process funtion is failed-exp- wad2.helper.WADHelperException-exp- WAD-Helper-connection is null<Error><HTTP><101017><[ServletContext(...)]Root Cause of ServletExceptionng.NullPointer Exception这个异常时JDBC连接池的错误,是用户操作过程中改了数据库用户的密码造成的,解决方法:在JDBC数据库连接池中将密码改掉,然后“apply”,然后重启webLogic问题得到解决。
1Weblogic9.2 在linux下启动很慢打开setDomainEnv.sh 增加-Djava.security.egd=file:/dev/zero修改参数为JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"2Windows x64 jrockit 启动3000M 报OutOfMemoryng.OutOfMemoryError: class allocation, 153359080 loaded, 154140672 footprint JVM@check_alloc(src/jvm/model/classload/classalloc.c:118). 19416 bytes通过修改启动内存,设置4G以上3后台日志出现以下报错User <anonymous> does not have permission on weblogic.management.home to perform lookupoperation1、网上找到的解决方案是:打开weblogic控制台,点击你部署工程的那个domain,在右边主页的下面有一个“View Domain-wide Security Settings”连接,点开它,看看复选框“Anonymous Admin Lookup Enabled”前面是没选的,把它勾上。
2、使用了1中的解决方案还是报这个错误,经过高手提醒后发现原因:如果一个weblogic.xml中包含以下的内容:<container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor>这个配置的意思是使weblogic优先加载应用WEB-INF/lib下面的jar包。
常见weblogical漏洞原理及危害和防御方法随着互联网的快速发展,网络安全问题日益突出。
WebLogic作为一款主流的Java EE应用服务器,广泛应用于企业级应用中。
然而,它也存在着一些安全漏洞,这些漏洞一旦被黑客利用,将对企业和用户造成极大的危害。
本文将详细解析WebLogic常见的漏洞原理、危害以及防御方法,以帮助大家更好地保障网络安全。
一、常见WebLogic漏洞原理及危害1.XMLDecoder反序列化漏洞原理:WebLogic中的XMLDecoder组件在解析XML数据时,未对数据进行严格的校验,导致攻击者可以构造恶意的XML数据,执行远程代码。
危害:攻击者可以利用该漏洞获取服务器权限,进而窃取敏感数据、破坏系统等。
2.T3协议反序列化漏洞原理:WebLogic使用T3协议进行远程方法调用,攻击者可以构造恶意的序列化数据,通过T3协议发送给WebLogic服务器,从而执行远程代码。
危害:与XMLDecoder反序列化漏洞类似,可能导致服务器被攻击者控制。
3.IIOP协议反序列化漏洞原理:WebLogic支持IIOP协议进行远程方法调用,攻击者可以利用该协议发送恶意序列化数据,执行远程代码。
危害:同样可能导致服务器被攻击者控制。
4.SSRF漏洞原理:WebLogic中的某些功能存在服务器端请求伪造(SSRF)漏洞,攻击者可以构造特定的请求,让服务器向指定的目标发起请求。
危害:攻击者可以利用该漏洞访问内部网络资源,甚至可能导致服务器成为攻击者的代理,对外发起攻击。
5.反向代理漏洞原理:WebLogic的反向代理功能存在安全缺陷,攻击者可以构造恶意的请求,绕过反向代理的限制,访问内部网络资源。
危害:可能导致内部网络资源被暴露,遭受攻击。
二、防御方法1.及时更新补丁针对已知的漏洞,Oracle官方会发布相应的补丁。
企业和开发者应及时更新WebLogic服务器,确保安全。
2.禁用不必要的服务和协议关闭WebLogic中不必要的服务和协议,如T3、IIOP等,减少潜在的攻击面。
property when WAR file is not expanded问题分析:出现这个原因是因为部署的时候使用的是war包,weblogic部署应用不像tomcat先将war解压在启动,而是直接使用war启动。
因为我们在很多JSP和Servlet文件中使用了如:this.servletContext.getRealPath("/")等类似写法,因为在war中的文件时没有真实路径的,所以getRealPath("/")取出来的都是意向不到的值,例如null。
解决方法:由于用这种写法获得web效劳器路径的地方很多,一个个去换显然不是一个很好的方法,而且直接使用war部署对后续的应用更新也比拟麻烦,所以准备采用另外一种部署方式,就是文件目录部署。
三、文件目录部署使用文件目录部署指的是用weblogic管理效劳器安装,直接指定本地的应用文件夹,只要该文件夹下面有包含WEB-INF\web.xml,就可以被选中安装。
所以接下来就是建立应用程序的安装目录。
在区别于weblogic域管理目录路径,我们在根路径创立了目录。
/deploy/applications/app/deploy/applications/planapp : 准备用来存放app应用,在文件夹建好以后,将我们的应用〔如:wzfy〕整个文件夹拷贝到app下面。
plan : 这个文件夹当weblogic管理效劳器安装了app下面的应用后,会在这里自动建立app 的部署方案文件。
在管理效劳器中,找到目录/deploy/applications/app ,选中wzfy,开始安装。
第三个问题出现无法访问选定应用程序。
Exception in AppMerge flows' progressionException in AppMerge flows' progression[J2EE:160111]ERROR: Appc can not write to the working directory,'/deploy/applications/app/wzfy'. Please ensure that you have write permission for this directory and try again.通过文字意思的理解,就是对于操作用户来说/deploy/applications/app/wzfy是不可写的。
1.4部署应用
1.4.1启动和关闭
1、如何启动WebLogic
[weblogic@jcms bin]$ cd /var/web/jsp/bea/user_projects/domains/mydomain
[weblogic@jcms bin]$ ./startWebLogic.sh (需要输入用户名密码)
2、如何关闭WebLogic
[weblogic@jcms bin]$ ./stopWebLogic.sh
1.4.2设置自动启动WebLogic
1、无需输入用户名密码启动关闭weblogic。
以weblogic账户在mydomain目录下,新建boot.properties文件,输入:
password=12345678
username=weblogic
把启动weblogic的用户名密码写进入。
2、修改starWeblogic.sh和stopWeblogic脚本
①startWeblogic.sh
/usr/bin/nohup${JAVA_HOME}……………… weblogic.Server > /var/web/weblogic.log
2>&1
注意:红色部分为添加的命令。
意为将启动脚本放到后台执行,并输出日志。
②stopWeblogic.sh
#!/bin/sh
………………脚本内容………(删除这段脚本,用于身份验证,删除后就无需输入用户名密码) # set server name
3、将weblogic的启动关闭作为linux系统服务。
以root账户在/etc/init.d下新建weblogic文件,内容如下:
#!/bin/sh
# chkconfig: 345 20 80
# description: Weblogic auto start-stop script.
DOMAIN_HOME=/var/web/jsp/user_projects/domains/mydomain
WLS_OWNER=weblogic
case "$1" in
'start')
su - ${WLS_OWNER} -c "cd ${DOMAIN_HOME}; ./startWebLogic.sh"
;;
'stop')
su - ${WLS_OWNER} -c "cd ${DOMAIN_HOME}; ./stopWebLogic.sh"
;;
Esac
其中DOMAIN_HOME是你创建的用户域的路径。
文件配置好后,就可以利用linux的服务来启动和关闭weblogic了。
#service weblogic start
4、随系统自动启动和关闭weblogic
以root用户执行如下命令:
ln -s /etc/init.d/weblogic /etc/rc.d/rc1.d/K80weblogic
ln -s /etc/init.d/weblogic /etc/rc.d/rc2.d/S20weblogic
ln -s /etc/init.d/weblogic /etc/rc.d/rc3.d/S20weblogic
ln -s /etc/init.d/weblogic /etc/rc.d/rc4.d/S20weblogic
ln -s /etc/init.d/weblogic /etc/rc.d/rc5.d/S20weblogic
ln -s /etc/init.d/weblogic /etc/rc.d/rc6.d/K80weblogic
另外,其实我们也可以通过运行setup命令,在system services里面设置weblogic服务是否自动启动。
1.5常见问题FAQ
A:weblogic无法启动,错误信息<error>包含如下,
<Error> <EmbeddedLDAP> <000000> <Error opening the Transaction
Log: ./myserver/ldap/ldapfiles/EmbeddedLDAP.tran: Permission denied>
Q:LDAP启动失败,导致的问题可能是用root账户启动了weblogic。
检查mydomain目录下myserver/ldap/ldapfiles下的文件权限,是否是weblogic用户组,如果还是无法启动,请删除.tran 文件。
A:weblogic无法启动,错误信息<error>包含如下,
<Error> <Deployer> <BEA-149204> <The deployment framework was unable to register with the Data Replication Service.
<Error> <Deployer> <BEA-149601> <The deployment framework was unable to resume accepting requests.>
Q:问题是管理域无法与用户域通信。
查看linux系统主机名,查看/etc/hosts文件,看是否有如下一行主机记录,如果没有,请将这一行记录加入到/etc/hosts文件中。
127.0.0.1 localhost.localdomain localhost
没有这一行记录,就会导致启动失败,一般在安装系统时,设置了主机名、有两块网卡,在设置主机名时,上面的记录就没有了。