Ошибка запуска Tomcat - PullRequest
       5

Ошибка запуска Tomcat

13 голосов
/ 03 сентября 2010

Я получаю следующую ошибку в файле журнала Catalina при запуске Tomcat в Windows:

Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
SEVERE: Catalina.start: 
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted.  
    at org.apache.catalina.connector.Connector.start(Connector.java:1138)
    at org.apache.catalina.core.StandardService.start(StandardService.java:531)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Sep 3, 2010 3:22:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 67604 ms

Но когда я изменил номер порта с 8080 на 9000, ошибки не было, но запрос на http://localhost:9000/ выдает ошибку 404 The requested resource (/) is not available.

Я что-то упустил?

Ответы [ 4 ]

18 голосов
/ 17 февраля 2011

Одно приложение использует порт 8080.Чтобы выяснить, какой из них, используйте следующую команду в командной строке Windows:

C:\>netstat -aon | findstr 0.0:8080

Затем возьмите число в последнем столбце (это идентификатор процесса) и выясните, какой это процесс в диспетчере задач.Если из команды ничего не выходит, значит, у вас нет приложения, использующего этот порт.

3 голосов
C:\>netstat -aon | findstr 0.0:8080

Это было исправлено, просто очистив процесс с этим идентификатором от процессов и перезапустив TomCat.

0 голосов
/ 15 января 2016

Другой процесс использует этот порт (возможно, другой экземпляр Tomcat).

Если вы не хотите использовать другой порт для фактического экземпляра Tomcat, вам нужно убить этот процесс.

CMD

  • 1 строка

    for /f "tokens=5" %a in ('netstat -ao ^| findstr 0.0.8080') do taskkill /pid %a
    

    или

  • 2 строки

    • получить PID

      netstat -ao | findstr 0.0:8080
      

      вы получите что-то вроде этого:

      TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       5180
      

      (последнее значение - PID - используйте его в следующей команде)

    • процесс уничтожения

      taskkill /pid <pid>
      
0 голосов
/ 11 января 2012

Вам нужно запустить tomcat на порту 80 от имени пользователя root. Другой порт - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...