gpt4 book ai didi

jboss7.x - 如何使用 JBoss AS 7 通过互联网部署应用程序

转载 作者:行者123 更新时间:2023-12-02 19:28:00 24 4
gpt4 key购买 nike

我正在使用 JBoss 7 AS。我正在通过 cmd 通过 linux 盒子部署项目,如下所示

bin/standalone.sh -b [ipaddress]

只有当我在网络上时,这才可以正常工作,但是当我在网络之外或通过互联网时,它就不起作用。

我如何启动它以便人们可以通过互联网访问它?

我尝试过这个,但它不起作用。

bin/standalone.sh -b 0.0.0.0

它说:

Chrome 浏览器无法加载网页,因为响应时间太长。该网站可能已关闭,或者您的互联网连接可能遇到问题。

最佳答案

您的第一步是了解并配置您的接口(interface)和端口绑定(bind)。在我们开始之前,应该澄清 -b运行时开关自 JBoss AS7.0.2 起就已启用,但在以前的 AS 7 版本中不存在。请参阅以下链接,通过 JBoss Application Server 7 社区论坛了解更多信息。

https://community.jboss.org/thread/168789

对于您的问题,您需要考虑套接字绑定(bind)组的接口(interface)和端口属性。假设您使用的是独立实例,您可以找到 standalone.xml 中声明的套接字绑定(bind)组。配置文件如下。

套接字组和端口绑定(bind)

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
<socket-binding name="ajp" port="8009"/>
<socket-binding name="http" port="8080"/>
<socket-binding name="https" port="8443"/>
<socket-binding name="osgi-http" interface="management" port="8090"/>
<socket-binding name="remoting" port="4447"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>

您可以看到http连接器绑定(bind)到端口8080,您还可以看到管理API端口绑定(bind)绑定(bind)到java token 。这些是您可以覆盖的值(因此是 "${thing:value}" 语法),但如果对它们进行硬编码,您将失去覆盖它们的能力。这是相关的,因为默认接口(interface)是 java token ,允许您使用 -b切换以覆盖它。

接口(interface)

这是 standalone.xml 中的默认公共(public)接口(interface)文件。 “公共(public)”一词只是一个相对的句柄。您可以将其“称为”您想要的任何名称,只要它对您有意义并且您可以稍后将服务器组和套接字绑定(bind)与它关联即可。这是 AS 7 的一个很棒的功能,允许您在一个元素中声明一组属性,并通过引用该元素名称在其他地方继承它们的属性。

以下示例允许您引用 public无需知道实际的 Inet 地址值是什么。

<interfaces>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>

变得粘糊糊的

您可以通过管理 CLI 或管理控制台更改这些值(遵循工作流程指南,最好使用管理 API 并保留 XML)。与大多数 GUI 一样,管理控制台是最容易首先进入的。这是套接字绑定(bind)屏幕。请注意,独立实例中实际上只有一个“套接字绑定(bind)组”,在本例中为 standard-sockets团体。

Socket binding groups in the Management Console

您可以编辑http如果需要的话进行绑定(bind),但您还应该考虑用于连接到互联网的接口(interface)。我假设您已经设置了网络服务器来满足您的需求(这对于 apache 来说可能比 JBoss 更重要)。这是界面设置的控制台 View 。

Interface settings in the Management Console

这显示 public standard-sockets 的界面绑定(bind)组与配置文件中的自身相关。高级配置可以使用“高级”部分来创建用于分区流量的有序条件。您甚至可以启用<any-address/>我在上面发布的第一个链接中描述的元素。

通过这两个屏幕,您应该能够配置所需的接口(interface)和端口绑定(bind),以将您的应用程序公开到互联网。

关于jboss7.x - 如何使用 JBoss AS 7 通过互联网部署应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9842197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com