【问题标题】:How to run 2 (or more) Wildfly instances on the same machine?如何在同一台机器上运行 2 个(或更多)Wildfly 实例?
【发布时间】:2018-03-23 16:32:29
【问题描述】:

我想通过运行 2 个独立的 Wildfly 实例来模拟 2 个服务器。当您不想在同一个实例上部署所有 WAR,然后只能将它们关闭并一起启动时,这很有用。

我正在使用带有 JBoss 插件的 Eclipse,在“服务器”视图中,我希望有 2 个 Wildfly 服务器,我可以分别同时停止和运行它们。我该怎么做?

【问题讨论】:

    标签: java eclipse wildfly jboss-tools


    【解决方案1】:

    可以复制 Wildfly 安装文件夹,但这会占用更多空间,并且每次更改都需要更新两者。相反,可以共享根文件夹并只创建 2 个独立的:

    1. 在安装文件夹中,从默认文件夹(或使用默认文件夹之一)创建新的 standalone1standalone2 文件夹。
    2. 在那里,您可以在deployments 文件夹中选择您需要的任何部署。
    3. 为了不冲突端口,必须更改其中一个独立的configuration/standalone.xml,如here所示:将数字从0更改为200等其他值

      port-offset="${jboss.socket.binding.port-offset:200}
      
    4. 现在转到 Eclipse 并在“服务器”视图中创建一个新服务器。给它起一个合适的名字,然后点击下一步。

    5. 在底部下拉菜单中选择create new runtime,然后点击下一步。
    6. 给它一个合适的运行时名称,并在Server base directory中选择您想要的独立文件夹名称,如上面的standalone1
    7. 然后只需在那里部署该特定实例所需的任何文件。

    对具有不同偏移量的其他实例执行相同的操作(在上面的 1 个实例中,将在 8080 处,另一个在 8280 处)。

    【讨论】:

    • 我想知道,这是最好的方法吗?我的意思是,对于生产环境。如果您对此有更多想法,我很乐意阅读。
    • @vinyoliver 我不知道这是否是生产的最佳。有哪些更好的选择?
    • 我最终做了一些非常接近你的生产答案的事情。我们有几个应用程序,每个应用程序都在自己的 Wildfly 实例上运行,我们还有一个 Nginx 服务器作为反向代理。我通常做的是每个服务器/实例一个应用程序,但这个项目有这个限制,我们必须为多个应用程序使用同一服务器
    【解决方案2】:

    完成上述标记建议的方法后,我们必须运行wildfly

    在 Windows 中

    standalone.bat -Djboss.server.base.dir=D:/AppServer/wildfly-10.1.0.Final/standalone1
    
    standalone.bat -Djboss.server.base.dir=D:/AppServer/wildfly-10.1.0.Final/standalone2
    

    在 Linux 中

    ./standalone.sh -Djboss.server.base.dir=/Users/kyle/servers/wildfly-8.2.0.Final/standalone1
    
    ./standalone.sh -Djboss.server.base.dir=/Users/kyle/servers/wildfly-8.2.0.Final/standalone2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多