更新到 Debian Squeeze 后无法启动 Tomcat 6.0.26
在 Debian 上进行 dist 升级(至 Squeeze)后,正常工作的 Tomcat 设置停止工作。 8005是shutdown端口,但未被占用。关于它可能是什么有什么想法吗?这不完全是自言自语的例外。这是来自卡特琳娜的日志:
org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]:
java.net.SocketException: Invalid argument
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
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.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Working Tomcat setup stopped working after dist-upgrade on Debian (to Squeeze). 8005 is the shutdown port but it is not occupied. Any ideas on what it may be? It's not quite self-speaking exception. This is log from catalina:
org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[8005]:
java.net.SocketException: Invalid argument
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
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.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题已解决,它与一些 IPv6 内容有关,因此要跳过此问题,您需要在 catalina.sh 脚本中的 JAVA_OPTS 变量中添加 -Djava.net.preferIPv4Stack=true 选项或更改内核配置。
更多信息:
http://confluence.atlassian.com/pages/viewpage。操作?pageId=214863647
Problem solved, it's related to some IPv6 stuff so to skip this you need to add -Djava.net.preferIPv4Stack=true option to JAVA_OPTS variable in catalina.sh script or alter kernel configuration.
More on this:
http://confluence.atlassian.com/pages/viewpage.action?pageId=214863647
根据这个错误报告,
http://bugs.debian.org/cgi-bin/bugreport.cgi ?bug=572048
最好是:
回声0> /proc/sys/net/ipv6/bindv6only
并承诺:
/etc/sysctl.d/bindv6only.conf
According to this bug report,
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572048
It is preferable to:
echo 0 > /proc/sys/net/ipv6/bindv6only
and committing that to:
/etc/sysctl.d/bindv6only.conf