#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 как занятый порт.