如何使用JBoss AS 7在Internet上部署应用程序

shi*_*sei 3 jboss7.x

我正在使用JBoss 7 AS.我正在通过cmd这样的cmd部署项目

bin/standalone.sh -b [ipaddress]

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

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

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

bin/standalone.sh -b 0.0.0.0

它说:

谷歌浏览器无法加载网页,因为响应时间过长.网站可能已关闭,或者您可能遇到与Internet连接有关的问题.

ddr*_*dri 7

您的第一步是了解和配置您的接口和端口绑定.在我们开始之前,应该澄清的是,-b运行时交换机自JBoss AS7.0.2以来一直处于活动状态,但在AS 7的早期版本中不存在.请参阅以下链接以获取有关JBoss Application Server 7社区的更多信息论坛.

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

对于您的问题,您需要同时考虑套接字绑定组的接口和端口属性.假设您正在使用独立实例,您可以找到在standalone.xml配置文件中声明的套接字绑定组,如下所示.

套接字组和端口绑定

<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>
Run Code Online (Sandbox Code Playgroud)

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

接口

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

以下示例允许您在public其他地方引用该接口,而无需知道实际的Inet地址值是什么.

<interfaces>
    <interface name="public">
        <inet-address value="${jboss.bind.address:127.0.0.1}"/>
    </interface>
</interfaces>
Run Code Online (Sandbox Code Playgroud)

变得糟透了

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

管理控制台中的套接字绑定组

您可以http根据需要编辑绑定,但您还应该考虑用于连接到Internet的接口.我将假设你已经设置了你的网络服务器以满足你的需求(这可能是一个比JBoss更多的apache问题).这是界面设置的控制台视图.

管理控制台中的界面设置

这显示了绑定组在配置文件中与之关联的public接口standard-sockets.高级配置可以使用"高级"部分为分区流量创建有序条件.您甚至可以启用<any-address/>我在上面发布的第一个链接中描述的元素.

从这两个屏幕,您应该能够配置所需的接口和端口绑定,以将您的应用程序公开到Internet.