jboss服务器通过端口对应项目

爱⌒轻易说出口 提交于 2020-03-12 19:36:13

实现功能:在单个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远程终端窗口,就可以了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!