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>
下。