Sealyu

--- 博客已迁移至: http://www.sealyu.com/blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  618 随笔 :: 87 文章 :: 225 评论 :: 0 Trackbacks

1.JBOSS服务的启动与关闭

1.1 确认JDK安装配置

在启动JBOSS节点前,要正确安装SUN JDK1.5

并设置环境变量$JAVA_HOME

解压缩JBOOS-TGZ包

1.2 运行JBOSS

cd $JBOSS_HOME/bin

nohup ./run.sh -c vcom -b 0.0.0.0 –u 229.12.12.12&

参数说明:

-c: 指定运行的配置,default配置不带集群支持,all 和自定义的vcom目录配置带有集群支持功能

-b: 指定服务绑定的IP地址,即对外服务的IP地址,0.0.0.0表示对机器上所有的IP提供服务

-u 指定服务使用的UDP组播地址

1.3 关闭JBOSS服务

编写脚本内容如下:

#!/bin/bash

for i in ` ps -ef | grep -w java |grep -v grep |awk '{print $2 ""t"$3}'`;do kill -9 $i

done

2.jmx-console控制台

  安装好jboss并启动jboss后,在浏览器窗口的地址栏里键入 http://localhost:8080/jmx-console(jboss默认的端口号为8080,可以自定义修改)。就可以浏览 jboss的部署管理的一些信息,默认情况下不键入任何用户名和密码就可以进入此页面,方便是方便,但真正使用起来还是有点安全隐患,因为不管任何人只要知道server的ip 都可以进去访问。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须 要知道用户名和密码才可进去访问.

 2.1 设置jmx-console安全设置

 1. 进入jmx-console.war,通常此目录在$JBOSS_HOME/server/vcom/deploy目录下。

 2. 编辑该目录下的/WEB-INF/web.xml,把<security-constraint>部分注释去掉 3.编辑$jboss_home/server/vcom/conf/props目录下的jmx-console-roles.properties和jmx-console-users.properties;

       1) users.properties文件里定义用户名和密码,格式为username=password。可以依照此格式添加多个用户。

2) roles.propertie文件里定义用户名和角色,格式为username=role。这里的role必须和web.xml文件里的<role-name>相对应。

4. 编辑/WEB-INF/jboss-web.xml文件,打开<security-domain>部分注释;这里<security- domain>内容对应的security-domain对应$jboss_home"server"vcom"conf"login-config.xml这个jaas配置文件里的某个application-policy。

如:

<security-domain>java:/jaas/jmx-console</security-domain>
在login-config.xml里对应有:

<application-policy name = "jmx-console">

<authentication>

<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag = "required" />

</authentication>

</application-policy>

5.重启jboss,在浏览器中键入控制台地址,就会出现输入username和password的提示窗口。

2.2 监控集群状况和session复制情

使用http://localhost:8080/jmx-console,使用名为jboss.cache:service=TomcatClustering MBean Members可以查看当前机群节点成员信息,使用jboss.cache:service=TomcatClustering,可以看到当前集群的节点ip,在member 一项中,可以观察到当前集群中节点ip,如图:

在此页面下找到java.lang.String printDetails() 

invoke the printDetails操作,点击invoke,可以对session复制进行监控。

3、配置JBOSS应用数据库连接

目前应用使用的数据库连接是应用程序自带的JDBC (API)接口,配置如下:

Cd /$JBOSS_HOME/server/vcom/deploy/*.war/WEB-INF/class/

Vi proxool.xml

 <?xml version="1.0" encoding="UTF-8"?>

<datasource>

 <proxool>

    <alias>pool</alias>

    <driver-url>jdbc:oracle:thin:@192.168.104.32:1521:cportal</driver-url>

    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

    <driver-properties>

      <property name="user" value="cportal"/>

      <property name="password" value="cportal"/>

    </driver-properties>

    <house-keeping-sleep-time>30000</house-keeping-sleep-time>

    <minimum-connection-count>0</minimum-connection-count>

    <maximum-connection-count>300</maximum-connection-count>

    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>

 </proxool>

</datasource>

(1) jdbc:oracle:thin:@192.168.104.32:1521:cportal,oracle服务端口是1521,cportal为数据库的实例名即sid。

(2) <property name="user" value="cportal"/>

 <property name="password" value="cportal"/> 为数据库的用户名和密码

(3)<maximum-connection-count>300</maximum-connection-count>为客户端 最大的数据库连接数

4.修改jboss服务端口号

使用JBOSS中间件时,默认的访问端口是8080,可以修改问你想使用的端口,修改步骤如下:
打开JBOSS目录$JBOSS_HOME/server/vcom/deploy/jboss-web.deployer/下的server.xml文件,搜索8080,将8080改为新的端口号,保存文件,重启应用服务器即可.访问时使用新的端口号.
<Connector port="80" address="${jboss.bind.address}"   

         maxThreads="150" maxHttpHeaderSize="8192"

         emptySessionPath="true" protocol="HTTP/1.1"

         enableLookups="false" redirectPort="8443" acceptCount="100"

         connectionTimeout="20000" disableUploadTimeout="true" />

其中150是JVM中启动的最大线程数,100 为JVM达到最大线程阀值时,可以放在队列中的HTTP请求数

5.JBOSS服务状态监控(web-console)

 如果需要监控jboss的系统资源,如:jboss的基本配置情况,jvm的利用率,线程池的使用情况,可以使用web-console进行监控。

5.1配置web-console

具体方法同jmx-console,就是位置不同,具体方法参考jmx-console配置:

· jboss-web.xml、web.xml在$JBOSS_HOME/vcom/deploy/management/console-mgr.sar/web-console.war/WEB-INF下;

· login-config.xml还是原来的那个,把application-policy名为$webConsoleDomain的部分改成你需要的web-console;

· web-console-users.properties、web-console-roles.properties定义了访问 web-console的用户、用户角色,具体位置自己去找,使用find /jboss -name web-console-users.properties 找到以后可以修改用户名、密码。

5.2 监控

使用http://localhost:8080/web-console/ 中,获取当前JBOSS-WEB应用模块的负载分担情况,并可以查看到当前JAVA虚拟机的内存使用情况,及线程池使用情况。

使用http://localhost:8080/web-console/status,可以进一步监控到每个线程的状态。

6.系统日志分析

$JBOSS_HOME /server/vcom/log下,有关于jboss的日志记录, 其中server.log是用来记录JBOOS运行过程的日志记录,boot.log用来记录JBOOS启动信息的,出现问题时可以通过sever.log对jboss进行分析。

 6.1 JBOSS的日志配置文件

$JBOSS_HOME /server/vcom/conf下的jboss-log4j.xml,可以对日志的来源和级别进行定义,也可以定义日志的记录方式。

6.2 产生cluster.log

可以把jboss-log4j.xml中最后有关cluster.log的APPENDER注释掉,系统运行时会在log目录下产生cluster.log文件,可以通过此文件对集群故障进行分析。在测试调试过程可以使用此日志

6.3 更改日志记录方式

Jboss日志记录方式有2种:

1.              按日期进行记录

2.              按日志文件的大小进行记录

目前使用的是按照大小信息记录。如果要修改记录方式,直接编辑jboss-log4j.xml文件,将此段注释去掉。

<!-- A time/date based rolling appender -->

   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">

      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

      <param name="File" value="${jboss.server.log.dir}/server.log"/>

      <param name="Append" value="false"/>

 

      <!-- Rollover at midnight each day -->

      <param name="DatePattern" value="'.'yyyy-MM-dd"/>

 

      …………………………………………………

……………………………………………………………………….

      </layout>

   </appender>

同时将下段注释掉

<!-- A size based file rolling appender-->

   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">

     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

     <param name="File" value="${jboss.server.log.dir}/server.log"/>

     <param name="Append" value="false"/>

     <param name="MaxFileSize" value="500KB"/>

     <param name="MaxBackupIndex" value="1"/>

 ……………………………………………………………

…………………………………………………………

     </layout>

   </appender>

下。
posted on 2009-09-22 14:48 seal 阅读(899) 评论(0)  编辑  收藏 所属分类: web服务器

只有注册用户登录后才能发表评论。


网站导航: