Tomcat Cannot assign requested address: JVM_Bind 비포트 사용 충돌

2390 단어 TomcatCannotassign
선언:
최근 친구가 Tomcat 6.0을 설치하고 시작했을 때 제대로 부팅하지 못했습니다. 주요 이상 스택 정보는 다음과 같습니다.

 : StandardServer.await: create[8005]: 
java.net.BindException: Cannot assign requested address: JVM_Bind
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
 at java.net.ServerSocket.bind(ServerSocket.java:319)
 at java.net.ServerSocket.(ServerSocket.java:185)
 at org.apache.catalina.core.StandardServer.await(StandardServer.java:406)
 at org.apache.catalina.startup.Catalina.await(Catalina.java:676)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:628)
 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)
친구의 Tomcat 6.0은 공식 설치 면제 버전이며 방금 다운로드한 것이기 때문에 파일이 부족한 문제가 아닙니다.
이상 정보에 의하면 Tomcat이 귀속해야 하는 포트나 일부 자원이 다른 응용 프로그램에 사용될 수 있습니다.
DOS 명령 netstat-an을 사용하여 사용된 포트를 보십시오. 프로그램이 Tomcat에서 사용하는 관련 포트(예를 들어 8080)를 사용하지 않았고 Tomcat을 디렉터리에 설치한 conf/server를 발견하지 못했습니다.xml 파일의 포트가 다른 포트로 바뀌어 다시 실행해도 정상적으로 시작할 수 없습니다.
여러 가지 테스트를 통해 포트 점용으로 인한 문제가 아니라고 초보적으로 판단할 수 있다.만약 포트가 차지하는 문제가 아니라면 IP 귀속 여부를 고려해야 한다.
확인 결과 친구 서버 컴퓨터의 C:\Windows\System32\drivers\etc\hosts 파일에서 다음 섹션이 발견되었습니다.

127.0.0.1    localhost
169.196.254.14  localhost
169.196.254.14는 존재하지 않는 로컬 IP 주소로hosts 파일의 두 번째 줄 내용 169.196.254.14localhost를 제거한 후 Tomcat을 다시 시작하여 정상적으로 작동하는 것을 발견합니다!
서버 영역에서는 한 대의 컴퓨터가 여러 개의 IP 주소를 설정하는 것이 비교적 흔하다.Tomcat은 시작할 때 설정에 따라 모든 IP 주소를 가져오고 하나씩 귀속합니다. 귀속해야 할 IP 주소가 존재하지 않는 것을 발견하면 상기 이상을 촉발하여 정상적으로 시작할 수 없습니다.

// localhost IP 
InetAddress[] ips = InetAddress.getAllByName("localhost");
if (ips != null) {
  for (InetAddress ip : ips) {
    System.out.println(ip.getHostAddress());
  }
}
/*  hosts , :
* 169.196.254.14
* 127.0.0.1
*  , 
* 127.0.0.1
*/

읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기