【问题标题】:tomcat ajp 8009 Protocol family unavailabletomcat ajp 8009 协议族不可用
【发布时间】:2020-07-25 21:38:40
【问题描述】:

#问题 根据tomcat官方的例子,我经常配置测试启动。遇到一个奇怪的问题,发现8009启动有问题,端口和防火墙都正常,不知道怎么处理。

server.xml https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html(Configuration 示例)

# tomcat log   
<code>   

    INFO: Server version name:   Apache Tomcat/7.0.103
    INFO: Server version number: 7.0.103.0
    INFO: OS Name:               Linux
    INFO: CATALINA_HOME:         /home/tomcat/apache-tomcat-7.0.103

    INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    INFO: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
    INFO: Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    INFO: Command line argument: -Dignore.endorsed.dirs=
    INFO: Command line argument: -Dcatalina.base=/home/tomcat/apache-tomcat-7.0.103
    INFO: Command line argument: -Dcatalina.home=/home/tomcat/apache-tomcat-7.0.103
    INFO: Command line argument: -Djava.io.tmpdir=/home/tomcat/apache-tomcat-7.0.103/temp
    Apr 13, 2020 5:47:16 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
    Apr 13, 2020 5:47:16 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    Apr 13, 2020 5:47:17 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-0:0:0:0:0:0:0:0-8009"]
    Apr 13, 2020 5:47:17 PM org.apache.coyote.AbstractProtocol init
    SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-0:0:0:0:0:0:0:0-8009"]
    java.net.SocketException: Protocol family unavailable
            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 org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:55)
            at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:404)
            at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:750)
            at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:467)
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:826)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:686)
            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:244)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
            Apr 13, 2020 5:47:17 PM org.apache.catalina.core.StandardService initInternal
    SEVERE: Failed to initialize connector [Connector[AJP/1.3-8009]]
    org.apache.catalina.LifecycleException: Protocol handler initialization failed
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:826)
            at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:686)
            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:244)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: java.net.SocketException: Protocol family unavailable
            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 org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:55)
            at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:404)
            at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:750)
            at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:467)
            at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
            ... 13 more
            Apr 13, 2020 5:47:17 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 515 ms
    Apr 13, 2020 5:47:17 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service [Catalina]
    Apr 13, 2020 5:47:17 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.103
    Apr 13, 2020 5:47:17 PM org.apache.catalina.ha.tcp.SimpleTcpCluster startInternal
    INFO: Cluster is about to start
</code>    

【问题讨论】:

    标签: tomcat ajp


    【解决方案1】:

    已经解决了。服务器可能不支持 IP6。修改配置如下,问题解决。 连接器协议="AJP/1.3" 地址="::1 改为 0.0.0.0"

    【讨论】:

      【解决方案2】:

      通过修复以下问题(tomcat 9)解决了我的问题:

      <Connector protocol="AJP/1.3"
                 address="0.0.0.0" 
                 secretRequired="false"
                 port="8009"
                 redirectPort="8443" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-12
        • 2010-09-14
        • 2013-12-20
        • 1970-01-01
        • 2018-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多