JBOSS维护经验 JBoss应用服务器SQL Server配置管理Web
程序员文章站
2022-07-03 13:39:41
...
一、设置控制台登录窗口
<br>安装好jboss并启动jboss后,在浏览器窗口的地址栏里键入 http://localhost:8080/jmx-consolehttp://localhost:8080/jmx-console就可以浏览 jboss的部署管理的一些信息,默认情况下不键入任何用户名和密码就可以进入此页面, 方便是方便,但真正使用起来还是有点安全隐患,因为不管任何人只要知道server的ip 都可以进去访问。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须 要知道用户名和密码才可进去访问.
步骤:
1. 进入jmx-console.war,通常此目录在{jboss_home}\server\default\deploy目录下。
2. 编辑该目录下的WEB-INF\web.xml,把<security-constraint>部分注释去掉
3. 编辑该目录下的WEB-INF\classes的roles.properties和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\default\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.Ok!一切大功告成!重启jboss,就会出现你想要的输入username和password的 窗口
二、启动与关闭JBOSS应用服务器:
1. 启动JBOSS应用服务器:
l 双击桌面快捷方式。
l 打开命令行窗口,进入 %JBOSS_HOME%\bin,键入 run ,回车。
2.关闭JBOSS应用服务器:
l 直接关闭JBOSS应用服务器;
l 另外打开一个命令行窗口,进入%JBOSS_HOME%\bin,键入shutdown –username=用户名 -password=密码,回车。
三、修改JBOSS应用服务器连接的数据库和端口:
1.在jboss—jboss-3.x---server---default---deploy下,mssql-service.xml文件中:
<config-property name=“ConnectionURL” type=“java.lang.String”>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind
</config-property>
<config-property name=“UserName” type=“java.lang.String”>sa</config-property>
<config-property name=“Password” type=“java.lang.String”>1</config-property>
其中:
①jdbc:microsoft:sqlserver://localhost:1433: SQL2000端口是1433,如果数据库和WEB服务器分装于不同的机器,那么localhost要改成数据库服务器的ip地址;
②DatabaseName=Northwind: 数据库是Northwind,可以修改成另一个数据库;
③<config-property name=“UserName” ype=“java.lang.String”>sa</config-property>
使用数据库的用户名sa
④<config-propertyname=“Password”type=“java.lang.String”>1</config-property>
与用户名sa对应的密码:1
注:当我们的数据库、用户名或密码修改后,可在mssql-service.xml修改相应的项即可。
2. 使用JBOSS中间件时,默认的访问端口是8080.如何修改?
打开JBOSS目录-->jboss-3.0.8-->server-->default-->deploy--> jbossweb.sar-->meta-inf下的jboss-service.xml文件,搜索8080,将8080改为新的端口号,保存文件,重启应用服务器即可.访问时使用新的端口号.
<Call name="addListener">
<Arg>
<New class="org.mortbay.http.SocketListener">
<Set name="Port"><SystemProperty name="jetty.port" fault="8000"/></Set>
<Set name="MinThreads">10</Set>
<Set name="MaxThreads">100</Set>
<Set name="MaxIdleTimeMs">30000</Set>
<Set name="LowResourcePersistTimeMs">5000</Set>
</New>
</Arg>
</Call>
四、其它设置
1.WAR文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBoss(Tomcat不支这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。
2.JBoss的目录结构
bin:改目录包含各种脚本文件以及相关文件,前面已经用过run.bat和shutdown.bat两个批处理文件。
client:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。
docs:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySql、Oracle、SQL Server、Postgres等)配置数据源的JCA配置文件。
lib:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。
server:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即all、default和minimal,每一个配置安装的服务都不一样。其中default下是缺省配置。
minimal:仅加载启动JBoss所需的最少服务,如日志服务、JNDI和URL部署扫描器(发现新的部署),不包含Web容器、EJB和JMS。
all:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。
启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:
run -c all
上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。
下面以default目录为例,介绍服务器配置的目录结构。
conf:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。
data:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQ(the JBoss implementation of JMS)存储相关信息的地方。
deploy:这是部署J2EE应用程序(jar、war和ear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。
lib:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。
log:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。
tmp:存储在部署过程中解压时产生的临时文件。
work:Tomcat编译JSP文件时的工作目录。
目录data、log、tmp和work在JBoss安装后并不存在,当JBoss运行时自动建立。
另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下。
3. JBoss中的部署
JBoss中的部署过程非常的简单、直接并且支持热部署。在每一个配置中,JBoss不断的扫描一个特殊的目录的变化:$JBOSS_HOME/server/config-name/deploy。
你可以把下列文件拷贝到此目录下:
* 任何jar库(其中的类将被自动添加到JBoss的classpath中)
* EJB JAR
* WAR (Web Appliction aRrchive) 注意默认情况下context为war名称.
* EAR (Enterprise Application aRchive)
* 包含JBoss MBean定义的XML文件
* 一个包含EJB JAR、WAR或者EAR的解压缩内容,并以.jar、.war或者.ear结尾的目录。
附:如果你想要定义自己的服务器目录配置,可参照如下步骤:
根据JBOSS文档,我们可知道,实际上配置一个Server仅仅只需要将Default目录下所有文件拷到一个新目录下并重命名就可以了,同时修改相应的一些文件中的参数就可以了。做如下约定:
1、 重新指定一个run.bat快捷方式 runJwfm.bat
复制一份<JBOSS_HOME>/BIN目录下的run.bat,并修改
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*为
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main –c jwfm %*
2、修改相应参数文件
<JBoss_Home>/Server/jwfm/conf 目录下文件jboss-service.xml修改动态部署时间:
<attribute name="ScanPeriod">5000</attribute> 将5000调整到800,特稳定后调回5000
<br>安装好jboss并启动jboss后,在浏览器窗口的地址栏里键入 http://localhost:8080/jmx-consolehttp://localhost:8080/jmx-console就可以浏览 jboss的部署管理的一些信息,默认情况下不键入任何用户名和密码就可以进入此页面, 方便是方便,但真正使用起来还是有点安全隐患,因为不管任何人只要知道server的ip 都可以进去访问。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须 要知道用户名和密码才可进去访问.
步骤:
1. 进入jmx-console.war,通常此目录在{jboss_home}\server\default\deploy目录下。
2. 编辑该目录下的WEB-INF\web.xml,把<security-constraint>部分注释去掉
3. 编辑该目录下的WEB-INF\classes的roles.properties和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\default\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.Ok!一切大功告成!重启jboss,就会出现你想要的输入username和password的 窗口
二、启动与关闭JBOSS应用服务器:
1. 启动JBOSS应用服务器:
l 双击桌面快捷方式。
l 打开命令行窗口,进入 %JBOSS_HOME%\bin,键入 run ,回车。
2.关闭JBOSS应用服务器:
l 直接关闭JBOSS应用服务器;
l 另外打开一个命令行窗口,进入%JBOSS_HOME%\bin,键入shutdown –username=用户名 -password=密码,回车。
三、修改JBOSS应用服务器连接的数据库和端口:
1.在jboss—jboss-3.x---server---default---deploy下,mssql-service.xml文件中:
<config-property name=“ConnectionURL” type=“java.lang.String”>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind
</config-property>
<config-property name=“UserName” type=“java.lang.String”>sa</config-property>
<config-property name=“Password” type=“java.lang.String”>1</config-property>
其中:
①jdbc:microsoft:sqlserver://localhost:1433: SQL2000端口是1433,如果数据库和WEB服务器分装于不同的机器,那么localhost要改成数据库服务器的ip地址;
②DatabaseName=Northwind: 数据库是Northwind,可以修改成另一个数据库;
③<config-property name=“UserName” ype=“java.lang.String”>sa</config-property>
使用数据库的用户名sa
④<config-propertyname=“Password”type=“java.lang.String”>1</config-property>
与用户名sa对应的密码:1
注:当我们的数据库、用户名或密码修改后,可在mssql-service.xml修改相应的项即可。
2. 使用JBOSS中间件时,默认的访问端口是8080.如何修改?
打开JBOSS目录-->jboss-3.0.8-->server-->default-->deploy--> jbossweb.sar-->meta-inf下的jboss-service.xml文件,搜索8080,将8080改为新的端口号,保存文件,重启应用服务器即可.访问时使用新的端口号.
<Call name="addListener">
<Arg>
<New class="org.mortbay.http.SocketListener">
<Set name="Port"><SystemProperty name="jetty.port" fault="8000"/></Set>
<Set name="MinThreads">10</Set>
<Set name="MaxThreads">100</Set>
<Set name="MaxIdleTimeMs">30000</Set>
<Set name="LowResourcePersistTimeMs">5000</Set>
</New>
</Arg>
</Call>
四、其它设置
1.WAR文件的部署
JBoss支持热部署,也就是war文件部署到服务器上后不需要重新启动JBoss(Tomcat不支这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss\server\default\deploy目录下即可。
2.JBoss的目录结构
bin:改目录包含各种脚本文件以及相关文件,前面已经用过run.bat和shutdown.bat两个批处理文件。
client:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。
docs:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySql、Oracle、SQL Server、Postgres等)配置数据源的JCA配置文件。
lib:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。
server:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即all、default和minimal,每一个配置安装的服务都不一样。其中default下是缺省配置。
minimal:仅加载启动JBoss所需的最少服务,如日志服务、JNDI和URL部署扫描器(发现新的部署),不包含Web容器、EJB和JMS。
all:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。
启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:
run -c all
上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。
下面以default目录为例,介绍服务器配置的目录结构。
conf:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。
data:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQ(the JBoss implementation of JMS)存储相关信息的地方。
deploy:这是部署J2EE应用程序(jar、war和ear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。
lib:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。
log:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。
tmp:存储在部署过程中解压时产生的临时文件。
work:Tomcat编译JSP文件时的工作目录。
目录data、log、tmp和work在JBoss安装后并不存在,当JBoss运行时自动建立。
另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下。
3. JBoss中的部署
JBoss中的部署过程非常的简单、直接并且支持热部署。在每一个配置中,JBoss不断的扫描一个特殊的目录的变化:$JBOSS_HOME/server/config-name/deploy。
你可以把下列文件拷贝到此目录下:
* 任何jar库(其中的类将被自动添加到JBoss的classpath中)
* EJB JAR
* WAR (Web Appliction aRrchive) 注意默认情况下context为war名称.
* EAR (Enterprise Application aRchive)
* 包含JBoss MBean定义的XML文件
* 一个包含EJB JAR、WAR或者EAR的解压缩内容,并以.jar、.war或者.ear结尾的目录。
附:如果你想要定义自己的服务器目录配置,可参照如下步骤:
根据JBOSS文档,我们可知道,实际上配置一个Server仅仅只需要将Default目录下所有文件拷到一个新目录下并重命名就可以了,同时修改相应的一些文件中的参数就可以了。做如下约定:
1、 重新指定一个run.bat快捷方式 runJwfm.bat
复制一份<JBOSS_HOME>/BIN目录下的run.bat,并修改
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*为
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main –c jwfm %*
2、修改相应参数文件
<JBoss_Home>/Server/jwfm/conf 目录下文件jboss-service.xml修改动态部署时间:
<attribute name="ScanPeriod">5000</attribute> 将5000调整到800,特稳定后调回5000