分类: 系统运维
2013-03-02 17:12:03
编辑选定的运行时应用程序部署描述符元素
二、Weblogic集群原理
Weblogic 服务器集群将一组服务器集合在一起工作,来提供更灵活调配的、更稳定的应用平台。服务器集群对用户是透明的,对用户来说,服务器集群只是一个简单的server端,然而实际上,多台服务器一起协同工作来提供服务。通过部署weblogic服务器的集群功能,网站对于来自网络用户的请求具备了出色的可扩展性、更高请求处理容量和冗余能力。对于一个集成的环境,客户端的会话状态必须被保存,以使得在出现故障时能够获得备份session状态。Weblogic server提供三种途径获得客户端会话状态:数据库复制(通过JDBC)、基于文件的复制和内存中的复制 。
使久用基于JDBC或基于文件的持机制分别将客户端的会话状态保存在数据库或者文件中。当一个客户端首次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器将会话状态完整地保存在离线存储器中。随后的客户端的请求将被持续地发送给同一台server,这样就保证了会话状态的更新在存储机制中的保存。如果这台服务器发生故障,那么该客户端可以连接到集群中的任何一台服务器。新的服务器通过读取储存在文件系统或者是数据库中的会话状态来恢复与客户端的会话。
内存中的复制机制同样也用于保存客户端会话数据,但是它使用内存而不是其他永久存储机制。在客户端初次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器指定另外一台集群中的服务器作为辅助服务器来存储会话数据的复本。随后的客户端的请求将被持续地发送给同一台server,从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。当与该客户端建立连接的服务器发生故障时,客户端可以连接到集群中另一台服务器。新的服务器将通过查找保存在Weblogic服务器cookie上的信息,对保存了客户端会话状态的复本的服务器进行定位,并且复制会话状态。通过这种容错处理的方式,客户端可以透明地故障切换到另一台服务器,无需使用持续性存储器便可长期保存会话数据。
三、介绍domain的目录结构
/config.xml 就是这个域的配置文件(重要!)
/startWebLogic.sh(.cmd),即启动该域服务器的可执行脚本(还有一些其他的脚本)。
/temp,存储临时文件
/logs,存储域级别的log文件
/userConfig,存储用户安全信息
/applications,注意这是一个非常重要的目录。
※注意:当服务器运行在Development Mode(开发模式) 时,这个目录是可以实现热部署(自动部署)。当将ear,jar,war包或弹开的应用目录置于applications(注意大小写)目录下,Weblogic将会自动部署,并修改config.xml增加一个项目条目,而你无需手动修改config.xml。
所以对于开发来讲,这个目录是非常重要的。
四、WebLogic Server 生命周期中的各种状态
(1)SHUTDOWN:在 SHUTDOWN 状态下,WebLogic Server 实例已配置但处于非活动状态。
由于执行关闭或强制关闭命令,服务器实例进入 SHUTDOWN 状态。另外,服务器实例执行自我运行状况监视而检测到自身处于不稳定状态时,它可以自行取消。只有“失败后自动取消”特性设置为 true 的服务器实例才能在检测到失败时自行取消。有关详细信息,请参阅发生故障的服务器实例自动重新启动。
可以使用“启动”、“以管理模式启动”或“以待机模式启动”命令,将处于 SHUTDOWN 状态的服务器实例转换为 STARTING 状态
(2)STARTING:在 STARTING 状态期间,由于执行“启动”、“以管理模式启动”或“以待机模式启动”命令,WebLogic Server 实例从 SHUTDOWN 转换为 STANDBY。
在 STARTING 状态中,服务器实例无法接受任何客户端请求或管理请求。
(3)STANDBY:处于 STANDBY 状态的服务器实例不处理任何请求,它的常用监听端口处于关闭状态。管理端口处于打开状态,可以接受将服务器实例转换为 RUNNING 或 SHUTDOWN 状态的生命周期命令。不接受其他管理请求。
以待机模式启动服务器实例是将其作为“热”备份的一个方法,“热”备份是高可用性环境下有用的功能。
唯一能够使服务器实例进入 STANDBY 状态并保持该状态的生命周期命令是“以待机模式启动”命令。而发出“启动”或“以管理模式启动”命令时,STANDBY 状态仅是服务器实例状态转换所经历的一个中间状态。
(4)ADMIN:在 ADMIN 状态下,WebLogic Server 启动并运行,但仅用于管理操作,您可以在此状态下执行服务器级和应用程序级管理任务。当服务器实例处于 ADMIN 状态时:
管理控制台可用。
服务器实例接受具有 admin 角色的用户的请求。拒绝非 admin 用户的请求。
应用程序在应用程序 ADMIN 状态下激活。它们仅接受具有 admin 角色的用户的请求。具有 admin 角色的用户在访问状态为 ADMIN的应用程序的同时,仍然能够继续访问所有应用程序功能,而不仅仅是访问管理功能。
JDBC、JMS 和 JTA 子系统处于活动状态,可以对它们执行管理操作。但当服务器处于 ADMIN 状态时,您无需具有管理员级特权即可访问这些子系统。
允许部署或重新部署,使用“恢复”命令将服务器实例从 ADMIN 转换为 RUNNING 状态时,这些部署生效。
ClusterService 处于活动状态,它将监听其他群集成员的心跳和公告。它可以检测到其他受管服务器已经加入群集,但其他群集成员无法看到它。
使用“以管理模式启动”、“挂起”或“强制挂起”命令可以将服务器实例转换为 ADMIN 状态。
而执行“启动”、“关闭”和“强制关闭”命令时,ADMIN 状态仅是服务器实例状态转换所经历的一个中间状态。
使用“恢复”命令可以将服务器实例由 ADMIN 状态转换为 RUNNING,或使用“关闭”或“强制关闭”命令将其转换为 SHUTDOWN。
(5)RESUMING:在此转换状态中,WebLogic Server 执行将其从 STANDBY 或 ADMIN 状态转换为 RUNNING 状态所需要的操作。
发出“恢复”命令时,服务器实例转换至 RESUMING 状态。而发出“启动”命令时,RESUMING 状态仅是服务器实例状态转换所经历的一个中间状态。
(6)RUNNING: RUNNING 状态下,WebLogic Server 处于完全工作状态,可以向客户端提供服务并作为一个完整的群集成员运行。
使用“启动”命令或“恢复”命令,服务器实例可以从 ADMIN 或 STANDBY 状态转换至 RUNNING 状态。
使用正常和强制“挂起”和“关闭”命令可以将服务器实例由 RUNNING 状态转换至 SUSPENDING 状态或 FORCE_SUSPENDING 状态。
(7)SUSPENDING:在此转换状态期间,WebLogic Server 执行将自身置为 ADMIN 状态所需要的操作,按顺序挂起 WebLogic Server 子系统和服务的子集,完成当前正在处理中的应用程序工作(“进行中”工作)的预定义部分。发出“挂起”命令时,服务器实例转换至 SUSPENDING 状态。而发出“关闭”命令时,SUSPENDING 状态仅是服务器实例状态转换所经历的一个中间状态。
有关进行中工作的信息,请参阅在挂起和关闭过程中处理进行中工作。注意:当处于 SUSPENDING 状态时,工作管理器会完成应用程序线程中待定工作的正在进行中的处理操作
(8)FORCE_SUSPENDING :在此转换状态期间,WebLogic Server 执行将自身置为 ADMIN 状态所需要的操作,按顺序挂起 WebLogic Server 子系统和服务的子集。在 FORCE_SUSPENDING 状态期间,WebLogic Server 不能正常完成进行中工作,将放弃进行中的应用程序工作。
发出“强制挂起”或“强制关闭”命令时,FORCE_SUSPENDING 状态仅是服务器实例状态转换所经历的一个中间状态。
(9)SHUTTING_DOWN:在此转换期间,WebLogic Server 完成子系统和服务的挂起,而后不接受应用程序请求或管理请求。
发出“关闭”或“强制关闭”命令时,服务器实例转换至 SHUTTING_DOWN 状态。
(10)FAILED:正在运行的服务器实例可能会因为内存不足出现异常、应用程序线程阻塞或一个或多个关键服务无法工作而失败。服务器实例监视其自身的运行状况,一旦检测到一个或多个关键子系统处于不稳定状态,即声明自身为 FAILED
五、日志log
包括AdminServer.log、access.log、domain_name.log
1.weblogic server运行日志
假如weblogic server在启动或运行过程中有错误发生,错误信息会显示在屏幕上,并且会记录在一个log文件中,该文件默认名为adminserver.log.该文件也记录weblogic的启动及关闭等其他运行信息。可在Gernal属性页中设置该文件的路径及名字,错误的输出的等级等
2.http访问日志
在weblogic中可以对用http、https协议访问的服务器上的文件都做记录,该log文件默认的名字为acces.log,具体记录在某个时间,某个ip地址的客户端访问了服务器上的那个文件
http访问日志的属性可在http属性页中进行设置
例如:192.168.214.30 - - [16/Jul/2007:15:19:52 -0500] "GET /commons/scripts/jsFormValidator.js HTTP/1.1 " 304 0
请问最后的两个参数304和0是什么意思呀?如果要down机了这两个数字会有什么异常变化吗?
304表示客户端已经执行了GET,但文件未变化,就不再重新请求下载了。
最好Google一下“http 状态代码”,得到一个完整的代码列表。
Http状态代码表
HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。
常见状态代码、状态描述的说明如下。
200 OK:客户端请求成功。
400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
403 Forbidden:服务器收到请求,但是拒绝提供服务。
404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
500 Internal Server Error:服务器发生不可预期的错误。
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。
3.domain运行日志
记录一个domain的运行情况,一个domain中的各个weblogic server可以把它们的一些运行信息(比如:很严重的错误)发给一个domain的Administrator server上,administrator server把这些信息放到domain日志中
六、其他
1、 weblogic Server支持三种部署方法:自动部署、控制台部署、命令行部署
开发模式:该模式启用自动部署
生产模式:该模式关闭自动部署
2、WebLogic Server 为分级文件提供了以下三种不同的模式:stage 模式、nostage模式和external_stage模式。下表详细说明了上述模式的工作方式:
(English) stage 模式的缺省值:
对于被管服务器:stage 模式的缺省值是stage,这意味着缺省的 stage 行为是将应用程序文件复制到其目标被管服务器
对于管理服务器:stage 模式的缺省值是nostage,这意味着缺省 stage 行为是从提供的源位