개발 ON
  • [Troubleshooting] 주소 [localhost]와(과) 포트 [8005]에, 서버 셧다운 소켓을 생성하지 못했습니다. (base 포트 [8005], offset [0])java.net.BindException: Address already in use: JVM_Bind
    2024년 08월 08일 09시 50분 46초에 업로드 된 글입니다.
    작성자: 이주여이

    이슈 발생 상황은 Windows에서 Tomcat을 돌릴 때(startup.bat을 실행했을 때) cmd 창이 바로 꺼지며 실행되지 않는 상황이였다.

     

    에러 로그는 아래와 같다.

    08-Aug-2024 09:33:10.755 심각 [main] org.apache.catalina.core.StandardServer.await 주소 [localhost]와(과) 포트 [8005]에, 서버 셧다운 소켓을 생성하지 못했습니다. (base 포트 [8005], offset [0])
        java.net.BindException: Address already in use: JVM_Bind
            at java.net.DualStackPlainSocketImpl.bind0(Native Method)
            at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
            at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
            at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
            at java.net.ServerSocket.bind(ServerSocket.java:375)
            at java.net.ServerSocket.<init>(ServerSocket.java:237)
            at org.apache.catalina.core.StandardServer.await(StandardServer.java:581)
            at org.apache.catalina.startup.Catalina.await(Catalina.java:864)
            at org.apache.catalina.startup.Catalina.start(Catalina.java:810)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)
    08-Aug-2024 09:33:10.756 정보 [main] org.apache.coyote.AbstractProtocol.pause 프로토콜 핸들러 ["ajp-nio-192.168.20.55-8009"]을(를) 일시 정지 중
    08-Aug-2024 09:33:10.757 정보 [main] org.apache.catalina.core.StandardService.stopInternal 서비스 [Catalina]을(를) 중지시킵니다.
    08-Aug-2024 09:33:10.766 정보 [main] org.apache.coyote.AbstractProtocol.stop 프로토콜 핸들러 ["ajp-nio-192.168.20.55-8009"]을(를) 중지시킵니다.
    08-Aug-2024 09:33:10.768 정보 [main] org.apache.coyote.AbstractProtocol.destroy 프로토콜 핸들러 ["ajp-nio-192.168.20.55-8009"]을(를) 소멸시킵니다.

     

    8005 포트를 이미 다른 곳에서 사용 중이라 발생한 이슈이며 나는 eGov의 Tomcat admin port를 8005로 지정한 상태에서 서버를 돌리고 있었고 해당 프로젝트를 그대로 war 파일로 추출해 사용 중이였기 때문에 war 파일의 server.xml에도 포트 번호가 8005로 지정되어 있을테니 충돌이 나는 것..

     

    그러면 eGov 내의 admin port를 수정하거나 Windows에서 배포하는 Tomcat의 server.xml을 수정해주면 된다.

     

     

    난 여기를 8006으로 수정해서 다시 돌렸다.

     

    만약 Tomcat을 수정해야 한다면 server.xml 내의 아래 부분을 수정하도록 한다.

     

     

    두개 다 바꾸지말고 둘 중 하나만 다른 포트로 바꾸면 된다.

    댓글