【问题标题】:Erlang application launch on a Windows serverErlang 应用程序在 Windows 服务器上启动
【发布时间】:2011-03-31 15:32:02
【问题描述】:

我有一个 Erlang 应用程序,它部署在装有 Windows Server 2008 的服务器上。

我这样做的方式:

  1. 复制 Erlang lib 目录中的应用程序文件夹。
  2. 打开命令行 (cmd)。执行erl
  3. 在 Erlang shell 中执行 application:start(app_name)

有没有更好的方法来启动应用程序?如何让应用在 Windows 启动时启动?

【问题讨论】:

标签: windows erlang windows-server-2008 erlang-otp erlang-shell


【解决方案1】:

我没有使用 Windows 的经验,但是...

`1.首先,您可能想看看 Erlang 中的release 的概念。本质上,

当我们编写了一个或多个应用程序时,我们可能希望创建一个由这些应用程序和 Erlang/OTP 应用程序子集组成的完整系统。这称为发布。

`2.然后,您可能想要创建一个包含以下内容的脚本:

erl -boot ch_rel-1

本质上,您是使用上面创建的引导脚本启动 Erlang/OTP(只需按照发布页面中的说明进行操作)

`3.本文介绍了如何在 Windows Server 2008 中创建启动脚本(未经测试,只是在 google 上搜索过):

http://technet.microsoft.com/en-us/magazine/dd630947.aspx

希望这会有所帮助。好问题。

【讨论】:

    【解决方案2】:

    也许rebar 可能会有所帮助。它使构建应用程序框架和发布变得非常容易。一个不错的教程是here

    【讨论】:

    • 钢筋很棒。但我仍然建议大家首先了解幕后情况。一旦明白这一点,使用自动工具将非常有帮助。
    【解决方案3】:

    熟悉版本后,请查看 start_erl 和 erlsrv 的手册页 (erl -man )。我用它们在 windows 2003 中启动嵌入式系统 (http://www.erlang.org/doc/embedded/embedded_nt.html),希望它在 windows 2008 中仍然适用于您。 使用 erlsrv 创建服务后,可以通过标准的 windows 命令行和 GUI 工具来管理它,例如设置启动模式和重启策略。

    也许您可以通过提供“-s app_name”作为 erl/start_erl 附加标志来启动您的应用程序,但我没有尝试这样做,因为我必须在嵌入式系统发布方面走很长的路。在这种情况下,请确保您拥有“start() -> application:start(?MODULE)”。在你的“app_name.erl”中。

    【讨论】:

      猜你喜欢
      • 2011-05-22
      • 2019-09-01
      • 2011-04-04
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      相关资源
      最近更新 更多