如何永远生产凤凰

时间:2015-12-23 22:03:59

标签: elixir phoenix-framework

我正在尝试永久地运行我的Phoenix应用程序,即独立于我的终端进程。我在Phoenix指南和Stackoverflow问题中看到我可以使用elixir --detached,但我无法正确使用这些命令。事实上,我曾经能够像这样开始它,但我尝试了很多命令,我甚至不知道哪一个命令(也因为没有消息要说清楚)。 因此,使用最新版本的Phoenix(1.1)和Elixir(1.1.1),有哪些命令: 1)永远启动服务器(作为守护进程); 2)停止服务器而无需重启服务器?

2 个答案:

答案 0 :(得分:12)

我从未想过如何使用--detached开关自行运行Elixir / Phoenix应用程序作为守护进程。但是,我可以告诉您,使用Exrm构建OTP版本是可行的方法。起初看起来有点令人生畏,但我保证这很容易,经过几次构建后你几乎无法做到。此外,如果您现在花时间学习Exrm,您将不必在以后优化生产部署。

有一个Phoenix Guide for Exrm Releases。另外,我刚刚发布了关于这个主题的ExCasts epsiode。虽然这一集并未特别涵盖与Exrm一起发布的Phoenix版本,但所有概念和演示都适用。使用Exrm构建OTP版本具有许多优点,包括使用多个命令生成的脚本,包括但不限于:consoleremote_console和热upgrade / { {1}}。这意味着您无需重新启动应用程序即可部署应用程序。

希望这会有所帮助并祝你好运!

答案 1 :(得分:1)

另外,请参阅优秀的酿酒库。 GitHub在这里:https://github.com/bitwalker/distillery

还有一个指南让你的凤凰应用程序启动并运行:

https://hexdocs.pm/distillery/phoenix-walkthrough.html#phoenix-walkthrough

之后,您可以在前台或后台运行有关您偏好的流程。