如何在生产后台启动 Foreman 服务器?
How do I start Foreman server on background on production?
我已经使用带有 Digital ocean 的 Ubuntu 服务器在 VPS 上成功部署了我的 rails 应用程序。我正在使用工头启动许多进程,如果我 ssh 进入我的服务器,我可以用 foreman start
启动我的工头服务器,但是当我关闭终端时,所有进程都停止了。我如何让它 运行 在后台持续显示?
提前致谢。
- ssh 进入远程机器
- 通过在 shell
中输入 tmux 启动 tmux
- 在启动的 tmux 会话中启动你想要的进程
- leave/detach 通过键入 Ctrl+B 然后 D
tmux 会话
您现在可以安全地从远程计算机注销,您的进程将 运行 保留在 tmux 中。当您再次回来并想检查进程的状态时,您可以使用 tmux attach 附加到您的 tmux 会话。
如果您想并排使用多个会话 运行,您应该使用 Ctrl-B 和 $ 为每个会话命名。您可以使用 tmux list-sessions 获取当前 运行 会话的列表。
tmux 可以做比在单个会话中处理单个 window 更高级的事情。有关更多信息,请查看 man tmux 或 http://tmux.github.io/ 。有关 screen 和 tmux 之间主要区别的常见问题解答,请参见此处。
更好的问题是 "how do I run a Rails application as a service?"。
Foreman 是一个很好的开发工具,但它不提供进程监督、服务器自动启动、日志轮换或使用 Unix 信号管理进程的能力。
如果您的 Ubuntu 是 15.04,则您已经安装了 systemd,应该改用它。 Foreman 甚至可以通过 foreman export systemd
导出您的配置(参见 the foreman manpage)。
如果您的 Ubuntu 比那年长,您将拥有 Upstart,同样,Foreman 可以将其导出到 (foreman export upstart
)。
在 运行ning 进程中使用 nohup、screen 或 tmux 是可怕的建议,即使在 运行.
短时间内也会让你的生活变得不必要的艰难
我已经使用带有 Digital ocean 的 Ubuntu 服务器在 VPS 上成功部署了我的 rails 应用程序。我正在使用工头启动许多进程,如果我 ssh 进入我的服务器,我可以用 foreman start
启动我的工头服务器,但是当我关闭终端时,所有进程都停止了。我如何让它 运行 在后台持续显示?
提前致谢。
- ssh 进入远程机器
- 通过在 shell 中输入 tmux 启动 tmux
- 在启动的 tmux 会话中启动你想要的进程
- leave/detach 通过键入 Ctrl+B 然后 D tmux 会话
您现在可以安全地从远程计算机注销,您的进程将 运行 保留在 tmux 中。当您再次回来并想检查进程的状态时,您可以使用 tmux attach 附加到您的 tmux 会话。
如果您想并排使用多个会话 运行,您应该使用 Ctrl-B 和 $ 为每个会话命名。您可以使用 tmux list-sessions 获取当前 运行 会话的列表。
tmux 可以做比在单个会话中处理单个 window 更高级的事情。有关更多信息,请查看 man tmux 或 http://tmux.github.io/ 。有关 screen 和 tmux 之间主要区别的常见问题解答,请参见此处。
更好的问题是 "how do I run a Rails application as a service?"。
Foreman 是一个很好的开发工具,但它不提供进程监督、服务器自动启动、日志轮换或使用 Unix 信号管理进程的能力。
如果您的 Ubuntu 是 15.04,则您已经安装了 systemd,应该改用它。 Foreman 甚至可以通过 foreman export systemd
导出您的配置(参见 the foreman manpage)。
如果您的 Ubuntu 比那年长,您将拥有 Upstart,同样,Foreman 可以将其导出到 (foreman export upstart
)。
在 运行ning 进程中使用 nohup、screen 或 tmux 是可怕的建议,即使在 运行.
短时间内也会让你的生活变得不必要的艰难