jboss启动问题

先描述下问题所在吧。jboss在suse11上部署后,用root用户可以成功启动,但是用普通用户就提示如下问题:

2012-11-15 16:26:28,432 ERROR [org.apache.coyote.http11.Http11Protocol] Error initializing endpoint
java.net.BindException: Permission denied:562
 at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:500)
 at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
 at org.apache.catalina.connector.Connector.initialize(Connector.java:1073)
 at org.apache.catalina.core.StandardService.initialize(StandardService.java:668)
 at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:568)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
 at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:291)
 at org.jboss.web.tomcat.service.JBossWeb.startService(JBossWeb.java:457)

2012-11-15 16:26:28,439 ERROR [org.apache.catalina.startup.Catalina] Catalina.start
LifecycleException:  Protocol handler initialization failed: java.net.BindException: Permission denied:562
 at org.apache.catalina.connector.Connector.initialize(Connector.java:1075)
 at org.apache.catalina.core.StandardService.initialize(StandardService.java:668)
 at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
 at org.apache.catalina.startup.Catalina.load(Catalina.java:528)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:568)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
 at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
 at org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:291)

端口访问拒绝,该端口改了很多次,运行都是同样的问题。

原因分析:
在Suse上只有root用户才可以访问1024以下的端口号,其余用户不能访问。
解决方案:
修改Tomcat的server.xml配置文件,jboss下的路径为jboss-4.2.3.GA/server/default/deploy/jboss-web.deployer/server.xml,将端口修改为8081(或者其他1024以上的端口号,不能与本机上的其它Tomcat端口冲突),然后使用root用户登录服务器,执行端口重定向命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081。意思就是当访问80端口时重定向到8081端口,这样,我们可以改成任何我们需要的端口啦。
原文地址:https://www.cnblogs.com/emilyzhang68/p/2771775.html