Ошибка при запуске сервера WildFly (адрес уже используется)

#server #jboss #wildfly #solaris

#сервер #jboss #wildfly #solaris

Вопрос:

У меня проблема с запуском сервера приложений wildfly (wildfly-21.0.1) на сервере (компьютере) Solaris. Я прочитал много похожих сообщений, но моя проблема, похоже, другая. Сначала я создаю SSH-туннель в PuTTY: Сеанс

Туннели Моя домашняя машина — Windows, я подключаюсь к удаленному серверу Solaris. Я пишу адрес сервера в поле «Имя хоста». После этого я создаю SSH-туннель на порту сервера (я пробовал разные и редкие), поэтому я помещаю порт сервера, к которому я подключаюсь, в поле «Порт источника», а порт моей персональной машины (localhost: port_number) в «Назначение». Я настроил standalone.xml путем изменения на

 <interface name="public">
        <any-address/>
    </interface>
 

и

 <socket-binding name="http" port="${jboss.http.port:14384}"/>
 

Я настроил PATH и JAVA_HOME на сервере.
Я запускаю сервер с помощью

 bash wildfly-21.0.1.Final/bin/standalone.sh
 

команда.
После этого я получаю следующую ошибку:

  ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service org.wildfly.undertow.listener.default: org.jboss.msc.service.StartException in service org.wildfly.undertow.listener.default: Address already in use /0.0.0.0:14384
 

Это происходит с любыми портами, которые я пробовал, и я уверен, что они не используются.
Как я могу это исправить? Есть ли какие-либо известные ошибки в Wildfly, которые могут вызвать это? Это как-то связано с туннелированием?

Комментарии:

1. Это происходит с любыми портами, которые я пробовал, и я уверен, что они не используются. И почему вы уверены, что они не используются? Вы действительно запустили что-то вроде netstat -an -f inet -P tcp и посмотрели, действительно ли что-то использует этот порт? Вы не можете быть «уверены» в чем-то подобном, если вы на самом деле не проверяли.

2. @AndrewHenle, Конечно, я это проверил.

3. Вы уверены в этом? Поскольку ваше изображение конфигурации Putty показывает, что вы перенаправляете удаленный порт 14384 на ваш локальный порт 14384. Это означает sshd , что процесс на удаленном хосте прослушивает порт 14384, поэтому JBoss возвращает Address already in use /0.0.0.0:14384 ошибку. Из данных в вашем вопросе я должен сказать, что вероятность того, что вы действительно проверили немедленно перед попыткой запустить JBoss то, что порт 14384 не используется, является довольно низким.

4. @AndrewHenle, да, ты прав! Я проверил это перед прокладкой туннеля — вот почему я не видел, чтобы он использовался. Как я могу заставить его работать должным образом?

Ответ №1:

Обсуждение с @AndrewHenle заставило меня задуматься об использовании портов в процедуре туннелирования, поэтому я изменил параметр «Удаленный» в разделе «Туннели» на «Локальный» (поскольку местом назначения является localhost). Все остальные параметры и значения остались прежними. Теперь все работает правильно, и WildFly не распознает 14384 как занятый порт.