实现功能:在单个jboss服务器实现通过不同的端口号来访问不同的web项目,避免了当访问非根项目必须是通过ip+/端口号+/项目名才能访问。
参考文档:http://my.oschina.net/xiaohong/blog/28151
Jboss服务器版本:4.2.2GA
Jboss目录结构:
实现原理:在运行jboss\bin 启动服务命令run.bat 默认加载 jboss\server\default中的项目,现通过运行default和 demo两个文件实例,并相应绑定不同端口。
当访问8080端口时,加载default实例。 访问80端口,加载demo实例。
实现过程:
1.复制jboss\server\default文件在当前目录,并将目录重命名为:demo
2.在jboss\server\demo\conf\jboss-service.xml文件中,查询到
<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
将注释去除,并修改name=ServerName值,值包括posts-default,posts-01,posts-02,posts-03.
当前使用posts-01。
在jboss\docs\examples\binding-manager\sample-bindings.xml可以查询到ports-0X的端口值(如果文件不存在,请拷贝同版本到相应目录)。
3.修改项目默认端口:
在jboss\server\demo\deploy\jboss-web.deployer\server.xml中修改实例demo默认访问端口:
<Connector port="80" address="0.0.0.0"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
实例default默认端口任是8080;
4.运行项目(windows下)
1.在windows中运行doc命令,进入jboss\bin文件,然后执行
# ./Run.bat -c demo &
就可以使用80端口访问cvc文件中的项目。
2.在进入doc执行 run.bat
就可以使用8080访问default实例中得项目
5.关于使用ssh连接,但其一断开,jboss服务就停止的解决方法(linux下):
问题场景:在启动demo实例时,在ssh控制台输入“./run.sh -c demo”命令,但断开ssh后,该实例就不能访问。
解决方法:启动实例时,命令输入“./run.sh -c demo &”.运行完成后,执行#exit,jboss将放到后台运行。现在断开ssh远程终端窗口,就可以了。
来源:oschina
链接:https://my.oschina.net/u/171502/blog/32126