【问题标题】:Industry standard for running daemonized Erlang/OTP applications?运行守护程序的 Erlang/OTP 应用程序的行业标准?
【发布时间】:2015-02-12 08:11:42
【问题描述】:

一些现代基础设施组件,例如 Yaws 和 CouchDB 可以通过

安装在 Ubuntu 上
sudo apt-get install

然后就可以开始了

{service_name} start 或简单的{service_name}

我想知道这种方法和 Erlang/OTP 方法之间是否有任何区别,即将OTP release 上传到生产服务器,然后使用 rebar 生成的脚本启动它。

行业标准是什么?安装/启动基于存储库的二进制文件或上传/启动 rebar 生成的版本?

此外,基于存储库的二进制文件是否具备所有 OTP 功能,例如 OTP 应用程序结构、监督以及通过控制台附加到实时应用程序的选项?

【问题讨论】:

    标签: erlang couchdb daemon erlang-otp yaws


    【解决方案1】:

    每次,你在启动 erlang,你就在启动一个版本。甚至,如果你只在终端中输入erl,它会运行一个版本(你可以在erlang_rootdir/releases/name_of_release 中找到.boot.rel.script 文件。

    我认为这回答了您的最后一个问题:从存储库安装的软件包仍然具有 OTP 结构、监督和所有优点。只有几个 bash 脚本,这使得启动和停止它们对习惯service_name start 的人更友好。您还应该能够找到类似于 rebar 生成的脚本。

    检查,这些文件在哪里,只需cat 他们。你应该看到,他们只是启动 Erlang 发布。

    你不能用包管理器做的唯一事情是热代码升级。大多数包管理器只是简单地停止正在运行的应用程序,安装新版本并重新启动它。在 Erlang 中,您可以升级正在运行的版本,但这是非常高级的东西。除此之外 - 使用操作系统包没有任何缺点。

    【讨论】:

      猜你喜欢
      • 2011-10-13
      • 2015-06-08
      • 2023-03-10
      • 2011-07-21
      • 2012-05-19
      • 2019-08-13
      • 2013-11-17
      • 2011-11-16
      • 1970-01-01
      相关资源
      最近更新 更多