2

Я пытаюсь запустить Tomcat через порт 8080, используя груз, но он выдает сообщение:

org.codehaus.cargo.container.ContainerException: номер порта 8080 (определяется свойством cargo.servlet.port) используется. Пожалуйста, освободите его в системе или установите другой порт в конфигурации контейнера.

Когда я telnet на localhost на 8080, он подключается.

Но когда я буду sudo lsof -n | grep 8080 , ничего не вижу. С netstat тоже не повезло.

В чем может быть проблема?

2 ответа2

1

Вывод многих сетевых команд сделан по умолчанию более понятным для человека. Они используют имена хостов и сервисов, а не IP-адреса и номера портов.

APP.DOMAIN.COM:http (LISTEN) против 10.191.12.109:80 (LISTEN)

Чтобы grep номер порта в выходных данных таких команд, необходимо убедиться, что он использует номера портов. Для lsof это опция команды -P .

sudo lsof -n -P | grep :8080

Для netsat использование -n отключает имена хостов и сервисов.

sudo netstat -lpn | grep :8080
0

Команда lsof предложенная lsof, должна работать (хотя я предпочитаю, чтобы lsof выполнял свою собственную фильтрацию с помощью sudo lsof -i:8080). Если вы ничего не видите ни с одной из этих команд, я подозреваю, что происходит что-то еще. Например, возможно ли, что Tomcat пытается открыть порт дважды и конфликтует с самим собой?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .