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 version="1.0" encoding="UTF-8" standalone="no"?>
- <servers>
- <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">
- <map jndiPort="1099" key="generic_server_instance_properties" port="8080" serverAddress="127.0.0.1" serverConfig="default"/>
- <list key="modules" value0="order_query::org.eclipse.jst.j2ee.server:order_query::jst.web::2.4"/>
- <list key="Generic_Server_Modules_List" value0="org.eclipse.jst.j2ee.server:order_query"/>
- </server>
- </servers>
确定这里的Jndi port 和port是否和jboss中的对应配置相同,如果不相同,就会导致虽然JBoss已经启动完成,然而eclipse不能查询到服务器的状态,所以在eclipse中服务器一直显示为starting状态,最后超时。
查看jboss中的配置
jbosspath\server\default\deploy\jbossweb-tomcat55.sar 中的server.xml 的
- <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" URIEncoding="GBK" server="www.yeepay.com" />
确保这里的端口号为8080
最后查看jndi的端口号,位置 jbosspath\server\default\conf中的 jboss-service.xml
<!-- ==================================================================== -->
-
-
-
- <mbean code="org.jboss.naming.NamingService"
- name="jboss:service=Naming"
- xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">
- <!-- The call by value mode. true if all lookups are unmarshalled using
- the caller's TCL, false if in VM lookups return the value by reference.
- -->
- <attribute name="CallByValue">false</attribute>
- <!-- The listening port for the bootstrap JNP service. Set this to -1
- to run the NamingService without the JNP invoker listening port.
- -->
- <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