Несколько портов (8005, 8080, 8009), необходимых серверу Tomcat на localhost, уже используются

Я получаю следующую ошибку, когда пытаюсь запустить простую программу JSP на Tomcat в Eclipse.

несколько портов (8005, 8080, 8009), требуемых Tomcat v6.0 сервер на localhost уже используется. Возможно, сервер уже запущен в другом процессе или системный процесс использует порт. Чтобы запустить этот сервер, вам нужно будет остановить другой процесс или изменить номер(ы) порта.

Как это вызвано и как я могу решить это?

30 ответов


у вас уже запущен другой экземпляр Tomcat. Вы можете подтвердить это, перейдя в http://localhost:8080 в вашем веб-браузере и проверьте, получаете ли вы домашнюю страницу Tomcat по умолчанию или страницу ошибок Tomcat 404. Оба являются одинаково действительными доказательствами того, что Tomcat работает нормально; если бы это было не так, то вы получили бы сообщение об ошибке тайм-аута HTTP-соединения браузера.

вам нужно выключить его. Перейти к /bin вложенная папка папки установки Tomcat и выполните shutdown.bat (Windows) или shutdown.sh (в Unix) сценарий. Если напрасно, закройте Eclipse, а затем откройте Диспетчер задач и убейте всех java и/или javaw процессы.

или если вы действительно установили его как службу Windows по какой-то причине (это именно предназначено для производства и бесполезно, когда вы только разрабатываете), откройте Диспетчер служб (Пуск > Выполнить > Services.msc) и остановите службу Tomcat. При необходимости удалите службу Windows полностью. Для развития, как раз застежка-молния файла достаточно.

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


kill $(ps -aef | grep java | grep apache | awk '{print }')
  • нет необходимости перезапускать Eclipse
  • Если вы получите вышеуказанную ошибку, просто введите эту строку в terminal
  • снова запустите tomcat в Eclipse.
  • работает только в системе на базе Linux (Ubuntu ..и т. д. )

Если вы работаете в windows, попробуйте это в командной строке:

netstat -ano

Это покажет все используемые порты и идентификатор процесса PID # процесса, который использует этот порт. Тогда Ctrl+Alt+Дель и откройте Диспетчер задач, чтобы увидеть, какой процесс.

затем вы можете либо закрыть / остановить его, либо настроить сервер на использование другого порта. Чтобы проверить, доступен ли новый выбранный порт (скажем, 8010), сделайте это:

netstat -ano | grep 8010

если он не возвращает никаких строк, то вы в порядке.

чтобы изменить порт перейдите в представление сервера, откройте сервер.в XML и измените порт там. В моей есть такая запись:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"

Если вы находитесь в среде Mac здесь это то, что я сделал.

найдите id процесса, работающий на этом порту от терминала, например, 8080:

lsof -i :8080

и убить его:

kill -9 <PID>

шаги к свободному порту, который уже используется для запуска сервера tomcat в Eclipse

например, предположим, что используется порт 8080, нам нужно сделать бесплатный 8080 для запуска tomcat

Шаг 1:

C:\Users\username > netstat-o-n-a | findstr 0.0:8080

TCP 0.0.0.0: 3000 0.0.0.0: 0 ПРОСЛУШИВАНИЕ 3116

теперь мы видим, что порт прослушивания 3116 для 8080,

нам нужно убить 3116 теперь

Шаг 2:-

C:\Users\username > taskkill /F / PID 3116

Шаг 3: Перейдите в Eclipse и запустите сервер, он будет работать


Если Eclipse говорит

несколько портов (8005, 8080, 8009), требуемых Tomcat v6.0 сервер на localhost уже используется

эта ошибка возникает, потому что tomcat может работать в фоновом режиме, поэтому сначала остановите этот сервер..следуйте приведенным ниже деталям.

решение:

  1. откройте вид "консоль" (окно->показать вид->консоль)
  2. затем остановите сервер tomcat.
  3. затем откройте представление "сервер" и запустить сервер он будет работать.

спасибо!


Если вы используете Eclipse, дважды щелкните по серверам и дважды щелкните по серверу tomcat, тогда откроется один файл. В этом файле измените HTTP-порт на другой номер порта и сохраните ( Ctrl+S), затем снова запустить сервер.


У меня нет другого экземпляра Tomcat, выполняющего ad, нет другого процесса, использующего "порт Tomcat" (в моем случае порт 8088). Eclipse отправить то же сообщение при запуске Tomcat:

....Возможно, сервер уже запущен в другом процессе или системный процесс использует порт. Чтобы запустить этот сервер, вам нужно будет остановить другой процесс или изменить номер(ы) порта.

Я решаю проблему таким образом:

  • перейти в корзину tomcat by строки
  • запуска.летучая мышь!--10-->
  • выключение запуска.летучая мышь!--10-->
  • запустите tomcat с помощью Eclipse

Что я сделал после прочтения всего предложенного ответа и, как я знаю, мой порт уже использовался. Я дважды щелкнул Tomcat на вкладке серверы в eclipse, и он открыл обзорную информацию, а затем нашел информацию о порте. Просто изменился конфликтующий порт, так как мой был портом 8009 (ошибка, упомянутая при запуске сервера). Я изменил его на 8008, и он отлично работает. Попробуйте, если измененный порт не будет использоваться, сервер запустится.


Шаг 1: netstat-a-o-n и он вызовет список сети, поиск локального адреса, такого как 127.0.0.1:8080 и обратите внимание на PID (eq 3624)

C:\>netstat -a -o -n

Шаг 2 : taskkill /F / PID 3624 . Выполните эту команду, чтобы убить этот процесс.

C:\>taskkill /F /PID 3624

ссылке в должности


В Windows используйте команду для остановки уже запущенного экземпляра tomcat и попробуйте запустить его снова в eclipse, он может работать.

net stop tomcat7 

или изменить порт в XML если вы просто хотите работать на некоторых других портах.


простой способ решить вашу проблему:

возможно, сервер уже запущен в другом процессе или системный процесс использует порт. Чтобы убить этот порт, сделайте следующее:

1) Скачать TCPView (только 285kb) из следующей ссылке.

http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

2) извлеките папку и запустите программы TCPView приложение.

3) Правой Кнопкой Мыши on java.exe(потому что 8009,8005 портов обычно используются процессом java) и выберите Завершить Процесс.

Это легко остановит другой процесс..

Примечание: Running TOMCATPATH / bin / завершение работы.летучая мышь!--6--> не может выключить Tomcat, когда он содержит какой-то демон или неуправляемый нити. В таких случаях программы TCPView работает отлично без каких-либо проблем.


Если вы находитесь в Java EE prospective в Eclipse и пытаетесь запустить сервер Tomcat в Eclipse в режиме отладки, то вы получите такие ошибки. Необходимо переключиться в режим отладки перспективных в Eclipse. Я решил свою проблему вот так.


иногда, если порты не освобождаются даже после попытки выключения.bat что @BalusC предложил, Вы можете убить процесс javaw. Выполните следующие действия:

  1. нажмите на меню Пуск и откройте "Windows powershell"
  2. Правой Кнопкой Мыши перед открытием и выберите "Запуск от имени администратора"
  3. введите команду ps. Вы можете увидеть изображение следующим образом : Powershell showing current proesses running

  4. СМ. Номер процесса процесса "javaw".Номер процесса самое правое число в Столбцах, я выделил в процессе изображения номер javaw, например.

  5. введите команду kill . javaw убит, и теперь вы должны иметь возможность запускать программу.


вот еще один вариант попробовать, если ничего из вышеперечисленного не помогло. Вы можете использовать Eclipse с общего диска (например, H:). Если это так, переместите/скопируйте весь каталог Eclipse в C: и повторите попытку.

My Eclipse не удалось открыть порты для сервера Tomcat (с вышеуказанной ошибкой), ни даже подключиться к интернету. Я также попробовал другой плагин Tomcat (Sysdeo), который также не смог открыть порты.

Это параметры I попробовал:

проверить и убить другие экземпляры Tomcat

  • в командной строке netstat -ano и проверьте, используют ли какие-либо другие процессы конфликтующие порты.
  • найти PID и убить его
  • попробуйте запустить сервер еще раз.

изменение портов Tomcat в Eclipse

  • на вкладке Eclipse Server дважды щелкните экземпляр Tomcat. Это откроет конфигурацию табуляция.
  • в разделе порты измените номера портов. (например, 18080).

убить java.exe и javaw

см. мой другой ответ для Eclipse, не подключающегося к интернету (https://stackoverflow.com/a/37246087/4212710).


для пользователей windows:

перейдите в Диспетчер задач напрямую с комбинацией клавиш CTRL+SHIFT+ESC.

убить " java.exe "обрабатывает, щелкнув правой кнопкой мыши и выбрав "End Task".


Я проверил все ответы, но informing only to kill PID.

В случае если у вас есть доступ к терминалу, общие для всех это не поможет или возможно, у вас нет разрешения убить PID.

в этом случае вы можете сделать следующее:

Double click on server

Go to Overview and change ports in Ports такой:

enter image description here


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


в случае windows, я испытал новый материал... остановка tomcat из папки / bin немедленно не освободит порт 8080. Она занимает около 5-10 минут, чтобы освободить порт. После 10 минут снова, если я попытаюсь запустить свой проект Выполнить - > выполнить на сервере .. это позволяет работать.

Я не уверен, правильно ли мое понимание!


см. следующий блог "Как убить tomcat без необходимости перезагрузки компьютера"

http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html

надеюсь, что это поможет кому-то в будущем.


более простое исправление, которое работает для меня, - это удаление моих текущих развернутых webapps из tomcat через вкладку "сервер". Как только я их удалю, проблема исчезнет. Просто повторно разверните проект, перейдя на Run As > Run on Server.


это происходит, когда другие в проекте также используют те же номера портов, что и вы! дважды щелкните сервер tomcat, измените номера портов на что угодно 8585 или что угодно. Код теперь начнет работать!


проблема часто возникает, когда Apache Tomcat не завершается должным образом, даже если была отправлена инструкция по выключению. В моем случае, используя Tomcat 8, это происходит с раздражающей регулярностью. К счастью, вы можете использовать Windows PowerShell и netstat команда для создания простого сценария, чтобы убить процесс.

следующий сценарий PowerShell будет анализировать выходные данные из netstat найти процесс, который прослушивает 127.0.0.1:8005, извлеките его PID, а затем убейте это процесс:

netstat -a -o -n `
 | select -skip 4 `
 | % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} `
 | ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} `
 | % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }

если server.xml настраивает Tomcat для использования другого порта или IP, соответственно редактирует регулярное выражение в четвертой строке скрипта.

наконец, я должен отметить, что ситуация лучше на Linux, потому что вы можете поручить Tomcat сохранить свой PID в файл при запуске и использовать переключатель для принудительного завершения работы, позже-сценарий завершения работы для ' nix systems уже имеет возможность убить процесс и сыщик-работа с netstat is не требуется.


Как убить службу windows с помощью PID -

  1. откройте командную строку и введите netstat -ano
  2. найдите PID портов, которые используются, в этом случае это будет 8080, 8005,8009. Скажем ПИД этих портов 5760.
  3. Теперь Типа taskkill /f /pid 5760
  4. он закроет PID и порты будут доступны для использования. Теперь вы можете запустить tomcat как обычно с помощью служб Windows или eclipse себя.

спасибо

убить службу Windows, которая застряла на остановке или запуске


несколько портов (8005, 8080, 8009), требуемых Tomcat vX.X сервер на localhost уже используется

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

netstat -b -a в командной строке для Windows. В этом списке перечислены используемые порты и дан исполняемый файл, который использует каждый из них. Для этого вам нужно быть в группе администратора.

вы можете получить что-то вроде этого:--7-->

TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8080 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]

открыть Диспетчер задач Ctrl+ Shift+Esc, и убить Tomcat7.exe или любой другой процесс, использующий эти порты.


ваш Tomcat, вероятно, уже работает. Вот почему вы получили ошибку. У меня уже была такая проблема. Я решил это очень просто:

  1. перезагрузите компьютер
  2. Открыть Eclipse
  3. запустите Tomcat

вот и все.


в ОС windows щелкните правой кнопкой мыши на панели задач-->запустить Диспетчер задач-->процесс, затем проверьте java.exe или javaw работает, если он работает, затем нажмите на него и завершите процесс, а затем перезапустите сервер tom cat.

  1. несколько раз skype будет занимать порт 80, в этом случае измените настройки skype и поместите 81 для skype или измените конфигурацию tomcat.

если вышеуказанная проблема возникает в ОС Windows 7 или 10, проблема возникает, потому что Tomcat работает как служба Windows. Чтобы остановить Tomcat, работающий как Службы Windows, Откройте Панель управления Windows. Найдите сервис "Apache Tomcat" и Остановите его. Другой способ-убить процесс, запущенный на порту 8080, используя cmd.

откройте cmd, запустив его как администратор.

  1. C:\users\username > netstat-o-n-a|findstr 0.0:8080
  2. TCP 0.0.0.0: 8080 0.0.0.0:0 слушать 2160.
  3. вышеупомянутый 2160-это идентификатор процесса процесса, запущенного на порту 8080, и убейте этот процесс, используя следующую команду
    C:\users\username > taskkill /F / PID 2160
  4. перейдите в IDE и запустите сервер, он будет работать

это может быть потому, что вы не останавливаете службу tomcat должным образом. Для этого Откройте Диспетчер задач там можно посмотреть javaw.exe сервис. Сначала остановите эту службу. Теперь перезагрузите tomcat, он работает нормально.


не нужно закрывать Eclipse IDE.Ваш кот, вероятно, уже работает. Вот почему вы получили ошибку.

открыть каталог tomcat >> bin >> из командного терминала (в моем случае tomcat9)

введите команду

./shutdown.sh

он закроет ваш запущенный tomcat

enter image description here