您的位置:首页 > 其它

JBoss的系列配置

2011-09-09 16:48 211 查看
一 配置变量

首先,要安装JDK,配置J***A_HOME环境变量

其次,将下载的JBoss解压,即完成安装。(解压目录最好不要有空格,否则运行容易出现异常)

然后,配置JBOSS_HOME环境变量,值为JBoss的解压路径

最后,可以运行%JBOSS_HOME%\bin\目录中的run.bat运行JBoss;地址栏输入http://localhost:8080/会进入JBoss的欢迎界面

二 目录结构说明

目录 描述

bin 包含启动和关闭JBoss等脚本文件。

docs 配置的样本文件(包括数据库配置等)。

docs/dtd 在JBoss中使用的各种XML文件的DTD文档。

lib 一些JAR,JBoss启动时加载,且被所有JBoss配置共享。

client客户端与JBoss通信所需的Java库(JARs)。

server各种JBoss配置。每个配置必须放在不同的子目录。子目录名字表示配置名字。JBoss包含3个默认的配置:minimial,default,all。在安装时可以进行选择。

server/default/confJBoss的配置文件。

server/default/dataJBoss的数据库文件。比如,嵌入的数据库或者JBossMQ。

server/default/deploy JBoss的热部署目录。放到这里的任何文件或目录会被JBoss自动部署。包括EJB,WAR,EAR甚至服务。

server/default/lib一些JAR,JBoss在启动特定配置时加载它们。

server/default/logJBoss的日志文件。

server/default/tmpJBoss的临时文件。

三 JBoss的配置

1 web服务端口号的修改

这点在前文中有所提及,即修改JBoss安装目录"server"default"deploy"jboss-web.deployer下的server.xml文件,内容如下:

< Connector port="8080" address="${jboss.bind.address}" maxThreads="250"   
  maxHttpHeaderSize="8192" emptySessionPath="true" protocol="HTTP/1.1" 
  enableLookups="false" redirectPort="8443" acceptCount="100" 
  connectionTimeout="20000" disableUploadTimeout="true" />

将上面的8080端口修改为你想要的端口即可。重新启动JBoss后访问:http://localhost/:新设置的端口,可看到JBoss的欢迎界面。

2 JBoss的安全设置

(1)jmx-console登陆的用户名和密码设置

在%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件中

将注释文档去掉修改为:

< jboss-web> 
  < security-domain>java:/jaas/jmx-console< /security-domain> 
   < /jboss-web>

在同目录下web.xml,查找< security-constraint/>节点,修改为:

< security-constraint> 
< web-resource-collection> 
  < web-resource-name>HtmlAdaptor< /web-resource-name> 
  < description>An example security config that only allows user with the role   
 JBossAdmin to access the HTML JMX console web application  
  < /description> 
  < url-pattern>/*< /url-pattern> 
  < http-method>GET< /http-method> 
  < http-method>POST< /http-method> 
< /web-resource-collection> 
< auth-constraint> 
  < role-name>JBossAdmin< /role-name> 
< /auth-constraint> 
   < /security-constraint>

在jmx-console安全域和运行角色JBossAdmin都是在login-config.xml中配置,在%JBOSS_HOME%/server/default/conf下找到它,查找application-policy name = "jmx-console",修改为

< application-policy name = "jmx-console"> 
 < authentication> 
   < login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" 
 flag = "required"> 
   < module-option name="usersProperties">props/jmx-console-users.properties  
   < /module-option> 
   < module-option name="rolesProperties">props/jmx-console-roles.properties  
   < /module-option> 
 < /login-module> 
    < /authentication> 
  < /application-policy>

在此处可以看出,登录的角色、用户等的信息分别在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中设置,分别打开这两个文件。

其中jmx-console-users.properties文件的内容如下:

# A sample users.properties file for use with the UsersRolesLoginModule

admin=admin

该文件定义的格式为:用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,读者可将其改成所需的用户名和密码。

jmx-console-roles.properties的内容如下:

# A sample roles.properties file for use with the UsersRolesLoginModule

admin=JBossAdmin, HttpInvoker

该文件定义的格式为:用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。

配置完成后读者可以通过访问: http://localhost:8088/jmx-console/ ,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。

(2)web-console登陆的用户名和密码设置

找到%JBOSS_HOME%/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF下的jboss-web.xml文件,去掉< security-domain>java:/jaas/web-console< /security-domain>的注释。

在同目录下的web.xml文件中去掉< security-constraint>部分的注释。

在%JBOSS_HOME%/server/default/conf下的login-config.xml文件中查找application-policy name = "web-console"

在文件中可以看到,设置登录web-console的用户名和角色等信息分别在login-config.xml文件所在目录下的web-console-users.properties和web-console- roles.properties文件中,但因为该目录下无这两个文件,我们在JBoss安装目录"server"default"conf"props目录下建立这两个文件,文件内容可参考在“jmx-console登录的用户名和密码设置”中的两个相应的配置文件的内容。

web-console-users.properties文件的内容如下:

# A sample users.properties file for use with the UsersRolesLoginModule

admin=admin

web-console-roles.properties文件的内容如下:

admin=JBossAdmin,HttpInvoker

因为此时这两个文件不与login-config.xml同目录,所以login-config.xml文件需进行少许修改

< module-option name="usersProperties">props/web-console-users.properties  
 < /module-option> 
 < module-option name="rolesProperties">props/web-console-roles.properties  
 < /module-option>



1、访问端口配置



编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml

将8080改为你希望访问的端口(8888)

<!-- A HTTP/1.1 Connector on port 8080 -->

<Connector port="8888" address="${jboss.bind.address}"

maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"

emptySessionPath="true"

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

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

2、虚拟目录配置:

编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml

在</Host>之前增加:

<Context path="/test" docBase="F:\\test" debug="1" reloadable="true" override="true" crossContext="true"/>

其中path 为虚拟目录名,docBase为硬盘路径(可为绝对路径)reloadable为类变更时是否重新加载

3、解决附件汉字问题:

a.编辑

%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml

在Connector 属性最后增加:URIEncoding="UTF-8"

<!-- A HTTP/1.1 Connector on port 8080 -->

<Connector port="8888" address="$"

maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"

emptySessionPath="true"

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

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

b.页面处理

将生成的附件名称进行编码转换:

<%

String n2="Redhat9中文官方文档.rar";

n2=java.net.URLEncoder.encode(n2,"UTF-8");

%>

<a href="Redhat9">http://192.168.1.112:8080/zlsf/<%=n2%>">Redhat9中文官方文档</a>

4、解决汉字问题。



在:项目/WEB-INFweb.xml中增加:

<filter>

<filter-name>Set Character Encoding</filter-name>

<filter-class>filters.SetCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>GBK</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>Set Character Encoding</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

其中

<param-value>GBK</param-value> 这里要设置GBK,而不是UTF8。为了解决标单提交后的中文问题。

filters.SetCharacterEncodingFilter 类文件在TOMCAT lib 目录下filters.jar文件中。

你只需要把filters.jar放入你应用目录下的LIB中即可。

5、虚拟主机配置



a.编辑

%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml

在 </Engine>之前添加:

<Host name="www.ytiic.com">

<Alias>www2.ytiic.com</Alias>--〉别名,通过这个名字可以访问www.ytiic.com下的应用。

<Alias>ytiic.com</Alias>--〉同上

<!-- Default context parameters -->

<DefaultContext cookies="true" crossContext="true" override="true"/>

</Host>

b.在这个目录下:%jboss-4.0.2%\server\default\deploy

创建一个目录:test.war(你的虚拟目录加.war)之后在其下创建WEB-INF目录

在WEB-INF下创建:jboss-web.xml 文件,内容如下:

<jboss-web>

<context-root>/</context-root>

<virtual-host>www.ytiic.com</virtual-host>

</jboss-web>

虚拟主机配置完成!

当jboss启动后,会自动对应2个配置文件中的虚拟主机名。

6、数据库配置:



去这个 %jboss-4.0.2%\docs\examples\jca 目录找一个你想用的数据库文件:

拷贝到%jboss-4.0.2%\server\default\deploy 下,打开编辑。

在%jboss-4.0.2%\server\default\deploy目录下自己建了一个文件:

test这个名字自己定义,后面需要保留。

test-ds.xml

内容如下:

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

<!-- ===================================================================== -->

<!-- -->

<!-- JBoss Server Configuration -->

<!-- -->

<!-- ===================================================================== -->

<!-- $Id: mssql-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ -->

<!-- ======================================================================-->

<!-- New ConnectionManager setup for Microsoft SQL Server 2000 driver -->

<!-- You may download the latest Microsoft JDBC driver from *Microsoft* -->

<!-- http://msdn.microsoft.com/downloads/default.asp url=/downloads/sample.asp url=/MSDN-

FILES/027/001/779/msdncompositedoc.xml&frame=true -->

<!-- ===================================================================== -->

<datasources>

<local-tx-datasource>

<jndi-name>test</jndi-name>

<connection-url>jdbc:mysql://192.168.1.1/test</connection-url>

<driver-class>org.gjt.mm.mysql.Driver</driver-class>

<user-name>root</user-name>

<password>password</password>

<!-- sql to call when connection is created

<new-connection-sql>some arbitrary sql</new-connection-sql>

-->

<!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->

<min-pool-size>5</min-pool-size>

<!-- The maximum connections in a pool/sub-pool -->

<max-pool-size>20</max-pool-size>

<!-- sql to call on an existing pooled connection when it is obtained from pool

<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>

-->

<!-- The time before an unused connection is destroyed -->

<!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use-->

<!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->

<idle-timeout-minutes>1</idle-timeout-minutes>

<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->

<metadata>

<type-mapping>mysql</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

数据库配置完成。

连接数据源名为:java:/test

=================================

所有配置完成!!

注意问题:

(1)、你的应用下的LIB库不要和%jboss-4.0.2%\server\default\lib 下的类库相冲突。

(2)、数据库配置参考:%jboss-4.0.2%\docs\examples\jca 下的文件

7、禁止文件目录列表



编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\conf\web.xml

把listing设置为false

<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>true</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>





5、防止LOG文件无限制的扩大

在F:\JBoss\server\default\conf目录下打开jboss-log4j.xml文件,在下语句块下:
<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"/>
增加以下语句:
<param name="MaxFileSize" value="10240KB"/>
<param name="MaxBackupIndex" value="1"/>
其中文件的最大值和备份的数量可以根据实际情况而改变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: