解决JBOSS局域网内无法访问的问题,JBoss启动异常问题,端口占用问题

JBOSS 局域网不能访问,本机也无法通过局域网IP访问

原因: 
    JBOSS 4.2以上版本服务启动如果不加任何参数的话,只监听127.0.0.1,就是说只能用127.0.0.1或者

localhost访问,用本机的对外地址 访问不了,同一网络内别的机子没法访问.除非你用参数-b ip地址

来绑定监听的地址才可以. 
    这和以前版本的JBOSS不一样,以前版本的不加任何参数是监听本机所有的IP地址,现在必须使用参

数-b 0.0.0.0才可以监听全部地址.

解决方法:

    1. 在启动的快截方式的命令中加入:run -b 局域网ip 

    2. 修改 jboss-4.2.0.GA\server\default\deploy\jboss-web.deployer\server.xml 把Connector下面的

address 改成对应的 IP 或者 0.0.0.0 就可以用 IP 访问了.


-------------------------------------------------------------------------------------------

JBoss启动异常: Port already in use: 1098

来源:http://leonzhan.iteye.com/blog/663807

JBoss启动异常: Port already in use: 1098

很多人都遇到过这个问题, 问题根源也很简单:1098端口被占用 可以用netstat -aon 来查看
但有些时候通过netstat -aon 看不出1098端口被谁占用了, 其中的可能是一些网络常用软件, 它们在启动的时候会随机的去占用一些端口:比如旺旺,skype

----我的查了,alg.exe,不好杀,只能使用第二种方法.

当然如果找半天都不行,可以通过修改端口,把1098端口改成其他可使用的端口
修改文件\jboss-5.1.0.GA\server\minimal\conf\jboss-service.xml,把如下的1098端口改成其他的即可:
<attribute name="RmiPort">1098</attribute>

 

--来源:http://blog.csdn.net/pott2008/article/details/4138403

Jboss的安装花了我几个月时间,一直报错,报错也无非是两个方面的错,1098和8080端口被占用。
上网查了很多资料一直不行。

关键是没有说清楚是怎么改。
现在我刚把JBOSS安装好,调试好。告诉大家怎么改:
有两个要点:
一。一定要按我下面的文件路径找到这个XML文件,然后用ECLIPSE XML EDITOR打开文件,把相应的端口号改过来,保存。因为我以前一直听信某同学说的,用记事本的方式打开,结果老是改不成功,还不知是什么原因。我靠。
二。对照下面的文件路径,

1.报错:java.rmi.server.ExportException: Port already in use: 1098; nested exception is: 
        java.net.BindException: Address already in use: JVM_Bind

 

需要修改的文件的路径:jboss-4.2.2.GA/server/default/conf/jboss-service.xml   把1098改为其它号码即可,一直改到它成功为止(我老师的原话。)

<attribute name="Port">1099</attribute>
      
<attribute name="RmiPort">1098</attribute>

2.报错:java.net.BindException:   Address   already   in   use:   JVM_Bind:8080
需要修改的文件的路径:jboss-4.2.2.GA/server/default/deploy/jboss-web.deployer/server.xml
把8080改为其它号码即可,一直改到它成功为止(我老师的原话。)

修改后一定记得要保存


-------------------------------------------------------------------------------------------

超时的原因主要是由于配置不一致造成的,检查下 eclipse中Jboss server的配置,位置在workspace\.metadata\.plugins\org.eclipse.wst.server.core下的server.xml

 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>  
  2. <servers>  
  3.   <server hostname="localhost" id="JBoss v4.0 at localhost" name="JBoss v4.0 at localhost" runtime-id="JBoss v4.0" server-type="org.eclipse.jst.server.generic.jboss4" server-type-id="org.eclipse.jst.server.generic.jboss4" start-timeout="50" stop-timeout="15" timestamp="1">  
  4.     <map jndiPort="1099" key="generic_server_instance_properties" port="8080" serverAddress="127.0.0.1" serverConfig="default"/>  
  5.     <list key="modules" value0="order_query::org.eclipse.jst.j2ee.server:order_query::jst.web::2.4"/>  
  6.     <list key="Generic_Server_Modules_List" value0="org.eclipse.jst.j2ee.server:order_query"/>  
  7.   </server>  
  8. </servers>  
 

确定这里的Jndi port 和port是否和jboss中的对应配置相同,如果不相同,就会导致虽然JBoss已经启动完成,然而eclipse不能查询到服务器的状态,所以在eclipse中服务器一直显示为starting状态,最后超时。

查看jboss中的配置

jbosspath\server\default\deploy\jbossweb-tomcat55.sar 中的server.xml 的

 

Xml代码   收藏代码
  1. <Connector port="8080" address="${jboss.bind.address}"  
  2.          maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"  
  3.          emptySessionPath="true"  
  4.          enableLookups="false" redirectPort="8443" acceptCount="100"  
  5.          connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" server="www.yeepay.com" />  

确保这里的端口号为8080 

最后查看jndi的端口号,位置 jbosspath\server\default\conf中的 jboss-service.xml

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

Xml代码   收藏代码
  1. <!-- JNDI                                                                 -->  
  2. <!-- ==================================================================== -->  
  3.   
  4. <mbean code="org.jboss.naming.NamingService"  
  5.    name="jboss:service=Naming"  
  6.    xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">  
  7.    <!-- The call by value mode. true if all lookups are unmarshalled using  
  8.    the caller's TCL, false if in VM lookups return the value by reference.  
  9.    -->  
  10.    <attribute name="CallByValue">false</attribute>  
  11.    <!-- The listening port for the bootstrap JNP service. Set this to -1  
  12.      to run the NamingService without the JNP invoker listening port.  
  13.    -->  
  14.    <attribute name="Port">1099</attribute>  
 

确保这里的1099和eclipse中的一致。


-------------------------------------------------------------------------------------------

1. 
附,以下是具体解决方法: 
在jboss-4.2.2.GA\bin目录下,新建start.bat文件,录入如下内容: 
run.bat -b 0.0.0.0 
保存即可。使用你新制作的start.bat文件启动服务之后就可以IP访问了。 
====================================== 
2. 
找到JBOSS_HOME的\server\default\deploy\jboss-web.deployer\server.xml文件,

找到


Xml代码 
1.<!-- A HTTP/1.1 Connector on address 8080 --> 
2.       <Connector port="8080" address="${jboss.bind.address}" 
3.          maxThreads="250" strategy="ms" maxHttpHeaderSize="8192" 
4.          emptySessionPath="true" 
5.          enableLookups="false" redirectPort="8443" acceptCount="100" 
6.          connectionTimeout="20000" disableUploadTimeout="true"/> 
<!-- A HTTP/1.1 Connector on address 8080 -->
       <Connector port="8080" address="${jboss.bind.address}"
          maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
          emptySessionPath="true"
          enableLookups="false" redirectPort="8443" acceptCount="100"
          connectionTimeout="20000" disableUploadTimeout="true"/>

将其中的${jboss.bind.address}改为0.0.0.0 
======================================


另附:

Jboss 改端口号: 
找到JBOSS_HOME的\server\default\deploy\jboss-web.deployer\server.xml文件,找到如下部分: 
    
Xml代码 
1.<!-- A HTTP/1.1 Connector on port 8080 --> 
2.    <Connector port="8080" address="${jboss.bind.address}" 
3.       maxThreads="250" strategy="ms" maxHttpHeaderSize="8192" 
4.       emptySessionPath="true" 
5.       enableLookups="false" redirectPort="8443" acceptCount="100" 
6.       connectionTimeout="20000" disableUploadTimeout="true"/> 
   <!-- A HTTP/1.1 Connector on port 8080 -->
       <Connector port="8080" address="${jboss.bind.address}"
          maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
          emptySessionPath="true"
          enableLookups="false" redirectPort="8443" acceptCount="100"
          connectionTimeout="20000" disableUploadTimeout="true"/>把里面的8080改为80。JBOSS启动之后就可以用http://localhost/访问。

 

在eclipse需要配置Service的Arguments,在program arguments加-b 0.0.0.0



你可能感兴趣的:(eclipse,xml,server,jboss,网络,service)