启动 WildFly 服务器时出错(地址已在使用中)

Posted

技术标签:

【中文标题】启动 WildFly 服务器时出错(地址已在使用中)【英文标题】:Error on starting the WildFly server (address already in use) 【发布时间】:2021-04-14 16:01:16 【问题描述】:

我在 Solaris 服务器(计算机)上启动 Wildfly 应用服务器 (wildfly-21.0.1) 时遇到问题。我已经阅读了很多类似的帖子,但我的问题似乎有所不同。 首先,我在 PuTTY 中创建了一个 SSH 隧道:

我的家用机器是 Windows,我连接到远程 Solaris 服务器。我在“主机名”字段中写下服务器的地址。 在此之后,我在服务器的端口上创建了一个 SSH 隧道(我尝试了不同的和罕见的),所以我将要连接的服务器的端口放在“源端口”字段和我的个人机器的端口(本地主机: 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 中是否有任何已知的错误会导致此问题?它是否与隧道有关?

【问题讨论】:

我尝试过的任何端口都会发生这种情况,而且我确信它们没有被使用。 你怎么确定它们没有被使用?你真的运行过netstat -an -f inet -P tcp 之类的东西,看看是否有任何东西在使用那个端口?如果你没有实际检查过,你就无法“确定”这样的事情。 @AndrewHenle,我当然查过了。 你确定吗?因为您的 Putty 配置图像显示您正在将远程端口 14384 转发到本地端口 14384。这意味着远程主机上的 sshd 进程正在侦听端口 14384,这就是 JBoss 返回 @ 的原因987654331@ 错误。 从您问题中的数据来看,我不得不说您在尝试启动 JBoss 之前立即实际检查端口 14384 未使用的可能性非常低。跨度> @AndrewHenle,是的,你是对的!我在挖隧道之前检查了这个——这就是为什么我没有看到它在使用中。我怎样才能让它正常工作? 【参考方案1】:

与@AndrewHenle 的讨论让我想到了隧道过程中的端口使用,因此我在“本地”的“隧道”部分更改了“远程”参数(因为目标是本地主机)。所有其他参数和值保持不变。现在一切正常,WildFly 不会将 14384 识别为占用的端口。

【讨论】:

以上是关于启动 WildFly 服务器时出错(地址已在使用中)的主要内容,如果未能解决你的问题,请参考以下文章

WildFly 开始出现错误:java.net.BindException:地址已在使用中

启动用户态代理时出错:监听 tcp 0.0.0.0:3306:绑定:地址已在使用中

如何更改 Wildfly 服务器的 IP 地址

Grails 项目运行错误 - 服务器无法为端口 8080 启动:地址已在使用中:JVM_Bind

Apache 错误:地址已在使用中:make_sock:无法绑定到地址 [::]:443

关闭 JBOSS 时出错