在新近更新的Ubuntu系统上安装tomcat7时出现问题。自从更新到14.04 LTS以来,tomcat拒绝在端口80上启动并出现我无法解决的错误,也找不到任何解决方法:

    Information: Initializing ProtocolHandler ["http-bio-80"]
Apr 24, 2014 4:39:37 PM org.apache.coyote.AbstractProtocol init
Schwerwiegend: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.SocketException: Datei oder Verzeichnis nicht gefunden
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:181)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:397)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:640)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)

事情是,我已经完全完成了以前的Ubuntu(运行12.04 LTS)的工作,简而言之,将server.xml编辑为端口80,并将/ etc / default / tomcat7中的authbind更改为yes,所以基本上,在端口80上运行tomcat所需执行的所有操作。

在12.04LTS上执行这些步骤可以正常工作,仅在14.04LTS上,它现在会引发此“找不到文件或目录”错误。

同样,将12.04LTS(tomcat在端口80上可以正常运行)升级到14.04LTS时,它突然抛出上述错误,而所有配置都与12.04LTS中的工作相同。

我希望任何人都可以帮助我解决此问题。

最佳答案

以下作品:
apt-get install authbind
首先,在AUTHBIND=yes文件中设置/etc/default/tomcat7

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80

这里有一个引用URL,但是该网站已被黑(在Edge中标记为“不安全”,Chrome浏览器提示我安装浏览器扩展程序)。

07-24 05:14