Несколько портов (8005, 8080, 8009), необходимых для сервера Tomcat на локальном хосте, уже используются - PullRequest
243 голосов
/ 21 февраля 2011

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

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

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

Ответы [ 32 ]

450 голосов
/ 21 февраля 2011

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

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

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

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

52 голосов
/ 11 декабря 2012
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
  • нет необходимости перезапускать Eclipse
  • если вы получили вышеуказанную ошибку, просто введите эту строку в терминал
  • снова запустите кота в Eclipse.
  • работает только в системе на основе Linux (Ubuntu ..etc)
28 голосов
/ 08 июня 2012

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

netstat -ano

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

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

netstat -ano | grep 8010

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

Чтобы изменить порт, перейдите кв представлении сервера откройте server.xml и измените там порт.У меня есть эта запись:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
20 голосов
/ 15 апреля 2015

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

Найдите идентификатор процесса, запущенный на этом порту из терминала, например, 8080:

lsof -i :8080

и убей его:

kill -9 <PID>
17 голосов
/ 24 июня 2016

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

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

Шаг 1:

C: \ Users \ имя пользователя> netstat -o -n -a | findstr 0.0: 8080

TCP 0.0.0.0:3000 0.0.0.0:0 СЛУШАТЬ 3116

Теперь мы видим, что порт LISTENING равен 3116 для 8080,

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

Шаг 2: -

C: \ Users \ имя пользователя> taskkill / F / PID 3116

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

14 голосов
/ 27 апреля 2012

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

12 голосов
/ 11 февраля 2013

Если Eclipse сообщает

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

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

Решение:

  1. Откройте представление "console" (window-> show view->Консоль)
  2. Затем остановите сервер Tomcat.
  3. Затем откройте представление «сервер» и запустите сервер, он будет работать.

Спасибо!

10 голосов
/ 09 ноября 2011

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

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

Я решаю проблему следующим образом:

  • Перейти к bintomcat по приглашению
  • запуск startup.bat
  • запуск shutdown.bat
  • запуск tomcat по Eclipse
6 голосов
/ 12 января 2013

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

6 голосов
/ 12 октября 2015

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

C:\>netstat -a -o -n

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

C:\>taskkill /F /PID 3624

ссылка на сообщение

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