JBoss的配置
本文介绍了JBoss的配置方法。首先安装JDK,配置变量;然后设置Web服务端口号,JBoss安全选项,定义登陆用户名和密码,JBoss的配置就基本完成。
一 配置变量
首先,要安装JDK,配置JAVA_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文件,内容如下:
1. < Connector port="8080" address="${jboss.bind.address}" maxThreads="250"
2.
3.
4. 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文件中
将注释文档去掉修改为:
1.
2.
3. < jboss-web> < security-domain>java:/jaas/jmx-console< /security-domain> < /jboss-web>
在同目录下web.xml,查找< security-constraint/>节点,修改为:
1.
2.
3.
4. < security-constraint> < web-resource-collection> < web-resource-name>HtmlAdaptor< /web-resource-name> < description>An example security config that only allows user wit
h the role
5.
6.
7.
8.
9. JBossAdmin to access the HTML JMX console web application < /description> < url-pattern>/*< /url-pattern> < http-method>GET< /http-method> < http-method>POST< /http-method>
10. < /web-resource-collection>
11. < auth-constraint>
12. < role-name>JBossAdmin< /role-name>
13. < /auth-constraint>
14. < /security-constraint>
在jmx-console安全域和运行角色JBossAdmin都是在login-config.xml中配置,
在%JBOSS_HOME%/server/default/conf下找到它,查找application-policy name = "jmx-console",修改为
1.
2.
3. < application-policy name = "jmx-console"> < authentication> < login-module code="org.jboss.security.auth.spi.UsersRolesLoginM
odule"
4.
5.
6.
7.
8.
9. 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>
10. < /authentication>
11. < /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文件需进行少许修改
1.
2.
3.
4. < module-option name="usersProperties">props/web-console-users.properties < /module-option> < module-option name="rolesProperties">props/web-console-roles.properties < /module-option>
JBoss的配置这样就完成了。
/art/200906/130210.htm
Apache HTTPServer与Tomcat/JBoss的配置
本文介绍Apache HTTPServer与Tomcat/JBoss的配置。通过Apache的配置以及Tomcat/JBoss的配置,可以达成整合与请求分发的功能。
如果需要一台服务器来做转发请求的话,用 apache的HttpServer再好不过了。
假如一个客户请求服务器A,A并不直接处理客户端的请求,而是把请求转发到服务器B。
来看一个具体怎么操作吧。
首先先下载一个apache-httpserver,这里用的是apache_2.2.3-win32-x86-no_ssl.msi,你可以在此进行下载。
安装就不用说了吧,安装完毕后。有时候启动服务会失败,我的第一次就失败了。端口被占用。 这时我们:
首先用netstat -ano 看是得到占用80端口的进程的PID,然后打开任务管理器,选择->查看->选择列,勾上PID(进程标识符),结束这个进程,再启动Apache就成功了.可以在浏览器输入:http://localhost 出现 'it works' 说明就ok了.
服务启动成功后去下载:mod_jk-apache-2.2.3.so。
1.进入apache的安装目录。找到modules把下载好的mod_jk-apache-2.2.3.so复制进去。
2.在conf目录建立一个workers.properties文件,内容如下:
1.
2.
3.
4.
5.
6.
7.
8.
9. # Define 1 real worker using ajp13 worker.list=admin # Set properties for admin (ajp13) worker.admin.type=ajp13 worker.admin.host=127.0.0.1 worker.admin.port=8009 worker.admin.lbfactor=50 #worker.admin.cachesize=10 # worker.admin.cache_timeout=600
10. worker.admin.socket_keepalive=1
11. # worker.admin.recycle_timeout=300
其中host就是你要转发到的服务器IP,port是端口号。这里是用本机测试,所以只改端口号就行了。
3.打开conf目录下的httpd.conf文件,找到#LoadModule ssl_module modules/mod_ssl.so
这一行。在这一行下面加上:
1.
2.
3.
4.
5.
6.
7.
8.
9. # 加载 mod_jk 模块 LoadModule jk_module modules/mod_jk-apache-2.2.3.so # 指定 mod_jk 模块所需的配置文件 workers.properties 的位置 JkWorkersFile conf/workers.properties # 指定 mod_jk 模块的日志文件位置 JkLogFile logs/mod_jk.log
10. # 指定 mod_jk 模块的日志级别
11. JkLogLevel info
12.
13. # 指定 mod_jk 模块的日志格式
14. JkLogStampFormat "[%a %b %d %H:%M:%S %Y]
15.
16. # 发送所有请求上下文的请求给 admin
17. JkMount /* admin
最后一个的admin就是第二步中的worker.list
1.
2.
3.
4.
5.
6.
7.
8.
9. < Service name="jboss.web"> < 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" />
10.
11.
12.
13.
14.
15. < Connector port="8009" address="${jboss.bind.address}" protocol
="AJP/1.3"
16. emptySessionPath="true" enableLookups="false" redirectPort
="8443" />
17.
18. < Engine name="jboss.web" defaultHost="localhost" >
19.
20.
tomcat: tomcat/conf/server.xml:
1. < Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 其中关于AJP的配置是一样的,这里可以更改你需要的端口,当然上面的apache的配置也需要同时更改。 最后打浏览器测试一下吧: http://localhost
显示的其实就是http://127.0.0.1:8009 ,如果你JBoss/Tomat下部署有测试工程。看一下吧。已经出现了。
好的,操作成功了。说明已经转发成功。
好了apache的配置都搞定了,重启一下ok.
我们再来看一下jboss的配置:
找到:
jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml 看看最上面的一段配置就行了。