【问题标题】:Configuring Mule Port on linux server在 Linux 服务器上配置 Mule 端口
【发布时间】:2025-12-22 18:20:13
【问题描述】:

对于那些在 Linux 上运行 Mule 的人来说,这可能是一个非常简单的问题。我在 Windows 8 机器上开发了 Mule ESB 3.3 应用程序,并通过调用我的应用程序进行测试以获得所需的结果

    http://localhost:8081/myFlowPath

现在我已成功将相同的应用程序部署到防火墙后面的 linux 机器上,但无法在 http://linuxDomainname.com:8081/myFlowPath 上点击它。连接被拒绝。我在配置骡子以在 linux 上运行时遗漏了什么吗?

我们正在独立运行 Mule CE 3.3 作为 linux 恶魔。我是否必须在 wrapper.conf 中明确指定端口或主机名之类的内容?请告诉我。非常感谢任何帮助。

谢谢, 珍妮

【问题讨论】:

  • 如果你在Linux盒子上,你能打http://localhost:8081/myFlowPath吗?
  • 没有大卫,当我从 lynx G localhost:8081/myFlowPath 尝试它时,它说“无法连接到远程主机”
  • 好的,所以 Mule 没有运行或者应用程序没有部署在上面。
  • 可能是 appArmor 或 SELinux 问题。我会尝试运行:netstat -ltsn,它应该直接从您的内核打印在 tcp 中实际侦听的地址/端口组合。
  • 这就是正在做的事情.. # mule -> 然后我得到 mule 启动和部署语句,说我的应用程序已部署,然后我 Ctrl+Z 从中中断.. 然后.. #lynx - > shift G -> localhost:8081/myFlowPath -> 点击回车/回车进入页面...它说无法连接到主机...我们检查了 netstat .. 8081 没有出现在列表中:(。 ..你有什么建议吗?

标签: configuration port mule


【解决方案1】:

您必须将 HTTP 侦听器主机配置为 0.0.0.0(从 localhost 更改)。 在 HOME_MULE/logs/mule.log 或 webservice.log 检查 log mule 部署您的应用程序后,您必须在 HOME_MULE/apps/nameofyourapp/webservice.xml(或文件 mule-deploy.properties 中的“config.resources”中定义的文件名)中具有以下内容:

它对我有用。我在 Ubuntu 16.04 LTS、Mule ESB 3.8.1 上部署我的 mule 应用程序。

如果这不起作用,则表示您在此计算机(或防火墙)上阻止了该端口 (8081)。检查 iptables 或其他您的第 3 方防火墙。

【讨论】:

    【解决方案2】:

    Mule 使用应用程序属性轻松处理它。为每个环境创建属性文件local|develop|prod

    local.properties

    api.host=0.0.0.0

    api.port=8080

    prod.properties

    api.host=127.0.0.1

    api.port=9090

    https://docs.mulesoft.com/mule-runtime/3.9/configuring-properties 上阅读有关 mule 服务配置管理的更多信息。

    【讨论】: