我试图在VPS上安装Tomcat,以在端口80而不是8080上运行,但是当我在Tomcat目录中编辑server.xml文件的设置,并尝试重新启动Tomcat时,却出现了此错误错误:
2012年1月23日,上午9:55:46 org.apache.coyote.http11.Http11Protocol初始化严重:初始化端点java.net.SocketException时出错:无法在java.net的java.net.PlainSocketImpl.socketBind(本机方法)处分配内存.java.net.ServerSocket。(ServerSocket.java:202)上的java.net.ServerSocket.bind(ServerSocket.java:336)上的.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:353)在java.net.ServerSocket。(ServerSocket。 java:158)位于org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)位于org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)位于org.apache .coyote.http11.Http11Protocol.init(Http11Protocol.java:176)在org.apache.catalina.connector.Connector.initialize(Connector.java:1014)在org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)在org.apache.catalina.core.StandardService.initialize(StandardService.java:680)在org.apache.catalina.startup.Catalina org.apache.catalina.startup上的.load(Catalina.java:524)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)处的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethod)处的。 .java:57),位于org.apache.catalina.startup.Bootstrap.load(.java.lang.reflect.Method.invoke(Method.java:616)处,位于sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)处Bootstrap.java:261),位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413),2012年1月23日上午9:55:46 org.apache.catalina。startup.Catalina严重:Catalina.start LifecycleException:协议处理程序初始化失败:java.net.SocketException:无法在org.apache.catalina的org.apache.catalina.connector.Connector.initialize(Connector.java:1016)处分配内存org.apache.catalina中的.core.StandardService.initialize(StandardService.java:680)(位于org.apache.catalina.startup.Catalina.load(Catalina.java:524) )于org.apache.catalina.startup.Catalina.load(Catalina.java:548)于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)处。在java.lang上反映(DelegatingMethodAccessorImpl.java:43)。在org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)处反射.Method.invoke(Method.java:616)在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)处
不太确定这意味着什么…这是否意味着我没有足够的内存?是否有其他方法可以使Tomcat在端口80上运行?
编辑:这是我输入free -m时的输出:
total used free shared buffers cached Mem: 1024 748 275 0 0 0 -/+ buffers/cache: 748 275 Swap: 0 0 0
使用authbind在端口80上运行时,我在OpenVZ上遇到了Tomcat相同的问题。我通过从OpenJDK切换到Sun Java来解决了该问题。