我正在尝试永久地运行我的Phoenix应用程序,即独立于我的终端进程。我在Phoenix指南和Stackoverflow问题中看到我可以使用elixir --detached
,但我无法正确使用这些命令。事实上,我曾经能够像这样开始它,但我尝试了很多命令,我甚至不知道哪一个命令(也因为没有消息要说清楚)。
因此,使用最新版本的Phoenix(1.1)和Elixir(1.1.1),有哪些命令:
1)永远启动服务器(作为守护进程);
2)停止服务器而无需重启服务器?
答案 0 :(得分:12)
我从未想过如何使用--detached
开关自行运行Elixir / Phoenix应用程序作为守护进程。但是,我可以告诉您,使用Exrm构建OTP版本是可行的方法。起初看起来有点令人生畏,但我保证这很容易,经过几次构建后你几乎无法做到。此外,如果您现在花时间学习Exrm,您将不必在以后优化生产部署。
有一个Phoenix Guide for Exrm Releases。另外,我刚刚发布了关于这个主题的ExCasts epsiode。虽然这一集并未特别涵盖与Exrm一起发布的Phoenix版本,但所有概念和演示都适用。使用Exrm构建OTP版本具有许多优点,包括使用多个命令生成的脚本,包括但不限于:console
,remote_console
和热upgrade
/ { {1}}。这意味着您无需重新启动应用程序即可部署应用程序。
希望这会有所帮助并祝你好运!
答案 1 :(得分:1)
另外,请参阅优秀的酿酒库。 GitHub在这里:https://github.com/bitwalker/distillery
还有一个指南让你的凤凰应用程序启动并运行:
https://hexdocs.pm/distillery/phoenix-walkthrough.html#phoenix-walkthrough
之后,您可以在前台或后台运行有关您偏好的流程。