【问题标题】:Return to the console but keep a rails server active返回控制台但保持 Rails 服务器处于活动状态
【发布时间】:2013-11-11 23:28:31
【问题描述】:

在我的服务器上,我可以启动我的 rails 应用程序服务器 (puma),并通过 cd'ing 进入应用程序的根目录并发出以下命令,为我的应用程序提供一个 UNIX 套接字:

bundle exec puma -e production -b unix:///var/run/my_app.sock

一切都很好,希望我的服务器终端现在没用了:

Puma starting in single mode...
* Version 2.6.0, codename: Pantsuit Party
* Min threads: 0, max threads: 16
* Environment: production
* Listening on unix:///var/run/my_app.sock
Use Ctrl-C to stop

这可能主要是 n00by,但我真的不知道在这里做什么。

我不能 CTRL-C,因为那会阻止 puma。

我不能只关闭终端窗口,因为那样也会停止 puma。

难题!

【问题讨论】:

    标签: ruby-on-rails application-server puma


    【解决方案1】:

    您可以使用--daemon 选项将 puma fork 设置为后台。这样,它会在启动过程结束后立即释放您的终端。

    之后要让进程退出,你需要给它发送TERM信号:

    kill -TERM $PID
    

    $PID 代表 puma 的进程 ID。在服务器上获取它的最简单方法是要求 puma 将其 pid 保存在一个文件中(一个适当命名为“pidfile”),在启动时使用 --pidfile 选项。

    更多选项,请查看 puma 在 github 上的文档和示例:https://github.com/puma/puma

    【讨论】:

    • 嗯..知道如何优雅地停止 puma 一旦它被守护?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2019-01-12
    相关资源
    最近更新 更多