Jboss安装部署
时间:2008-02-29 来源:wuzd
Jboss安装部署
1. 概要
这个文档描述a、b系统的安装,包括Jboss运行环境的设置
红色是需要注意的地方,在配置文件里是做修改的地方
2. 系统需求
操作系统:Redhat enterprise 3.0 v4 For EM64T
数据库:Oracle 9i
应用服务器:Jboss4.0.2 或更高
JVM: JDK1.5_01 或更高
3. 操作系统安装
Redhat
4. Java虚拟机安装
JDK1.5_01
5. 应用服务器安装
- 解压jboss-4.0.2.zip到Jboss安装目录下,该目录用$JBOSS_HOME表示
- 这里只使用jboss的default配置,其他all/minimal都不需要,可以删除
- 删除 $JBOSS_HOME /server/default/deploy下,jmx-console、management和snmp-adapter以防止被非法攻击和管理Jboss
cd $JBOSS_HOME/server/default/deploy
rm -rf jmx-console.war
rm –rf snmp-adaptor.sar
rm –rf management
- 配置web服务器的监听端口为 80
cd $JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar
vi server.xml 编辑server.xml
<!-- A HTTP/1.1 Connector on port 80 -->
<Connector port="80" address="${jboss.bind.address(Jboss安装机器的IP地址)}"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
5. 设置生成Http访问Log
cd $JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar
vi server.xml 修改配置文件
<!-- Access logger -->
<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" prefix="localhost_access_log." suffix=".log" pattern="common" directory="${jboss.server.home.dir}/log" resolveHosts="false" />
-->把注释去掉
- 数据库连接池配置
a. 拷贝示例配置oracle-ds.xml到deploy目录下:
cp $JBOSS_HOME/docs/examples/jca/oracle-ds.xml $JBOSS_HOME/server/default/deploy/
b. 修改oracle-ds.xml文件:
vi oracle-ds.xml
<datasources> <local-tx-datasource> <jndi-name>OracleDS</jndi-name> <connection-url>jdbc:oracle:thin:@192.168.0.5:1521:db1 {连接服务器和数据库名}</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>ec</user-name> <password>password</password>替换为 <security-domain>EncryptDBPassword</security-domain> <min-pool-size>10</min-pool-size> <max-pool-size>150</max-pool-size>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource> </datasources>
|
增加一个security-domain配置叫EncryptDBPassword
a. cd $JBOSS_HOME
b. java -cp "lib/jboss-jmx.jar;lib/jboss-common.jar; server/default/lib/jboss-jca.jar;server/default/lib/jbosssx.jar" org.jboss.resource.security.SecureIdentityLoginModule password
Encoded password: 5dfc52b51bd35553df8592078de921bc
以上两步可以产生数据库密码的密文
c.配置security-domain
vi ${JBOSS_HOME}/server/default/conf/Login-config.xml
加入一个policy:把以下文本加入到login-config.xml里的<policy></policy>之间
<application-policy name = "EncryptDBPassword">
<authentication>
<login-module code = "org.jboss.resource.security.SecureIdentityLoginModule"flag = "required">
<module-option name = "username">uc_test(数据库用户名)</module-option>
<module-option name = "password">5dfc52b51bd35553df8592078de921bc(上面a,b两步产生的数据库密码的密文)</module-option>
<module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option>
</login-module>
</authentication>
</application-policy>
7. web目录访问控制
cd /home/installer/jboss/server/all/deploy/jbossweb-tomcat55.sar/conf
vi web.xml
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> |
准备JDBC
Mysql driver
放在$JBOSS_HOME/server/default/lib下
8. 更新Jboss中的hibernate库
Hibernate配置
9.Log4J配置
# cd $JBOSS_HOME/server/default/conf
# vi log4j.xml
更改控制台输出的级别
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
更改Server.log的级别
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Append" value="true"/>
<param name="Threshold" value="WARN"/>需要加这行
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="[%d] %-5p [%c] %m%n"/>
</layout>
</appender>
10.系统发布
# cd $JBOSS_HOME/server/default/conf
# vi jboss-service.xml
修改URLS指向EC系统的Deploy目录
<mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
name="jboss.deployment:type=DeploymentScanner,flavor=URL">
<depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends>
<attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>
<attribute name="Filter">org.jboss.deployment.scanner.DeploymentFilter</attribute>
<attribute name="ScanPeriod">5000</attribute>
<attribute name="URLs">deploy/, $INSTALL_HOME/deploy/ </attribute>
(现实系统应该指向installer模块下的deploy目录,比如/home/installer/deploy)
<attribute name="RecursiveSearch">True</attribute>
</mbean>