【问题标题】:How do Elixir with Mix make a daemon?Elixir 与 Mix 如何制作守护进程?
【发布时间】:2014-07-25 05:02:37
【问题描述】:

Elixir & Mix 都想把服务器做成守护进程。 一直没能找到正确的方法。

另外,我想用erlang reltool。

【问题讨论】:

    标签: erlang elixir elixir-mix reltool


    【解决方案1】:

    您可以使用--detached 选项来启动与系统控制台分离的运行时系统。它旨在用于运行守护进程和后台进程:

    elixir --detached -S mix run
    

    关于 reltool,您可以使用 exrm,尽管在配置 VM 参数时传递 -detached(单个 -)。运行时系统的完整参数列表可以在这里找到:http://erlang.org/doc/man/erl.html

    【讨论】:

    • 您不需要使用 exrm 传递 -detached,因为使用 bin/myapp start 运行您的版本会自动以分离模式运行它。
    • 但是如果主机服务器重启了怎么办?我的 elixir 应用程序会自动重新启动吗?还是我必须手动启动它?
    • @simo,您可以使用supervisord 确保进程在重启时启动
    【解决方案2】:

    从 Elixir 1.9+ 起,您应该使用 --erl "-detached"。像这样:

    MIX_ENV=prod elixir --erl "-detached" -S mix run --no-halt
    

    或凤凰:

    MIX_ENV=prod elixir --erl "-detached" -S mix phx.server
    

    【讨论】:

    • 使用这些命令将日志放在哪里?
    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    相关资源
    最近更新 更多