Вопрос или проблема
Мне нужно запустить сервис с определенным IP, используя Wildfly.
Уже следую инструкциям.
Wildfly запускается нормально с локальным IP, который 127.0.0.1, а также с 0.0.0.0.
Но когда я меняю его на свой или другой IP, возникает ошибка следующего вида:
11:12:58,057 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Не удалось запустить службу org.wildfly.network.interface.public: org.jboss.msc.service.StartException в службе org.wildfly.network.interface.public: WFLYSRV0082: не удалось разрешить интерфейс public
в org.jboss.as.server.services.net.NetworkInterfaceService.start(NetworkInterfaceService.java:98)
в org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
в org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
в org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
в org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
в org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
в org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
в org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
в java.lang.Thread.run(Thread.java:748)
11:12:58,123 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 53) WFLYIO001: Рабочий 'default' автоконфигурирован на 8 IO потоков с 64 максимально допустимыми потоками задач на основе ваших 4 доступных процессоров.
11:12:58,156 INFO [org.jboss.as.ejb3] (MSC service thread 1-4) WFLYEJB0482: Строгий пул mdb-strict-max-pool использует максимальный размер инстанса 16 (на класс), что определяется числом ЦП на этом хосте.
11:12:58,155 INFO [org.jboss.as.ejb3] (MSC service thread 1-6) WFLYEJB0481: Строгий пул slsb-strict-max-пул использует максимальный размер инстанса 64 (на класс), что определяется размером пула потоков работника.
11:12:58,224 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0012: Сервер default-server запущен.
11:12:58,236 INFO [org.jboss.remoting] (MSC service thread 1-8) JBoss Remoting версия 5.0.18.Final
11:12:58,230 INFO [org.wildfly.extension.undertow] (MSC service thread 1-2) WFLYUT0018: Хост default-host запускается
11:12:58,429 INFO [org.jboss.as.patching] (MSC service thread 1-1) WFLYPAT0050: Полный кумулятивный патч ID WildFly: base, одноразовые патчи: отсутствуют
11:12:58,445 WARN [org.jboss.as.domain.management.security] (MSC service thread 1-5) WFLYDM0111: Keystore C:\Users\Lenovo\Downloads\wildfly-20.0.0.Final\wildfly-20.0.0.Final\standalone\configuration\application.keystore не найден, он будет автоматически сгенерирован при первом использовании с самоподписанным сертификатом для хоста localhost
11:12:58,452 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-8) WFLYDS0013: Запущено FileSystemDeploymentService для каталога C:\Users\Lenovo\Downloads\wildfly-20.0.0.Final\wildfly-20.0.0.Final\standalone\deployments
11:12:58,759 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Операция ("add") не удалась - адрес: ([("interface" => "public")]) - описание ошибки: {"WFLYCTL0080: Не удалось запустить службы" => {"org.wildfly.network.interface.public" => "WFLYSRV0082: не удалось разрешить интерфейс public"}}
11:12:58,827 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Операция ("add") не удалась - адрес: ([("subsystem" => "jca")]) - описание ошибки: {
"WFLYCTL0412: Требуемые службы, которые не установлены:" => ["org.wildfly.transactions.global-default-local-provider"],
"WFLYCTL0180: Службы с отсутствующими/недоступными зависимостями" => ["org.wildfly.jca.transaction-integration отсутствует [org.wildfly.transactions.global-default-local-provider]"]
}
11:12:58,833 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Операция ("add") не удалась - адрес: ([
("subsystem" => "ejb3"),
("service" => "timer-service"),
("file-data-store" => "default-file store")
]) - описание ошибки: {
"WFLYCTL0412: Требуемые службы, которые не установлены:" => ["org.wildfly.transactions.global-default-local-provider"],
"WFLYCTL0180: Службы с отсутствующими/недоступными зависимостями" => ["jboss.ejb3.timerService.timerPersistence.default-file-store отсутствует [org.wildfly.transactions.global-default-local-provider]"]
}
11:12:58,836 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0459: Инициирование отката из-за отсутствия управляющих служб.
11:12:58,863 INFO [org.jboss.as.mail.extension] (MSC service thread 1-6) WFLYMAIL0002: Несвязанная почтовая сессия [java:jboss/mail/Default]
11:12:58,881 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-6) WFLYJCA0019: Драйверная служба с именем драйвера h2 остановлена
11:12:58,890 INFO [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0019: Хост default-host останавливается
11:12:58,903 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) WFLYUT0004: Undertow 2.1.3.Final останавливается
11:12:58,955 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Загрузка сервера завершилась неустранимой ошибкой; выход. См. предыдущие сообщения для подробностей.
11:12:58,979 INFO [org.jboss.as] (MSC service thread 1-6) WFLYSRV0050: WildFly Full 20.0.0.Final (WildFly Core 12.0.1.Final) остановлен за 14 мс
Нажмите любую клавишу для продолжения . . .
Я новичок во всем этом, пожалуйста, помогите.
Если вы хотите запустить Jboss на другом IP, выполните скрипт domain.sh с тегами -bmanagement и -b.
Пример: ./domain.sh -bmanagement {Ваш IP сервера} -b {Ваш IP сервера}
Редактирование файла не потребуется.
.
Ответ или решение
Если вы хотите запустить службу на сервере с использованием Wildfly под определенным IP-адресом, важно рассмотреть несколько ключевых шагов для правильной настройки. Описание вашей проблемы показывает, что возникают ошибки при попытке запуска сервера с IP, отличным от 127.0.0.1 или 0.0.0.0. Рассмотрим, как можно решить эту проблему.
Шаги для запуска Wildfly на определенном IP-адресе:
1. Понимание ошибки
Ошибка, которую вы получаете, заключается в том, что org.wildfly.network.interface.public
не может разрешить интерфейс. Это может указывать на проблемы с конфигурацией сети или неверным IP-адресом.
2. Параметры командной строки
Как вы уже упомянули, необходимо использовать скрипт domain.sh
с параметрами -bmanagement
и -b
. Эти параметры позволяют указать IP-адрес для административного управления и сетевого интерфейса.
./domain.sh -bmanagement {Ваш_IP_адрес} -b {Ваш_IP_адрес}
3. Удостовериться в корректности IP-адреса
Проверьте, что указанный IP-адрес действительно привязан к вашей машине и находится в правильно настроенной сети. Используйте команды ifconfig
(в Unix-системах) или ipconfig
(в Windows) для проверки.
4. Конфигурация интерфейсов
Также стоит проверить файл конфигурации standalone.xml
(или domain.xml
для доменных конфигураций). Убедитесь, что определённый интерфейс ‘public’ настроен корректно или создайте новый, если необходимо:
<interfaces>
<interface name="public">
<inet-address value="${jboss.bind.address:Ваш_IP_адрес}"/>
</interface>
</interfaces>
5. Проверьте разрешения брандмауэра
Убедитесь, что ваш брандмауэр не блокирует порты, необходимые для работы Wildfly, обычно это 8080 для HTTP и 9990 для консоли управления.
6. Логирование и диагностика
Изучите логи Wildfly, чтобы выявить дополнительные ошибки или предупреждения, которые могут указывать, почему запуск не удался. Это может дать дополнительное понимание того, какие критические изменения необходимы.
Заключение
Следуя данным рекомендациям, вы сможете устранить проблему и успешно запустить службу Wildfly на заданном IP. Важно уделять внимание каждой детали настройки, начиная от проверок сетевых подключений до конфигурации самого сервера. Убедитесь в том, что все настройки соответствуют вашей серверной среде и сетевой инфраструктуре.
Создание и эксплуатация серверной инфраструктуры требуют внимательности к деталям и структурированного подхода, что предоставляет вам возможность оптимально использовать мощности Wildfly.