Daemon

在後台啟動 Sinatra 應用程序,並將 stdout 和 stderr 重定向(附加)到文件

  • May 18, 2018

我有一個 Sinatra 應用程序,我使用ruby app.rb. 通過 ssh 在遠端機器上部署它時,如何在後台執行它並將 stdout 和 stderr 重定向到日誌文件?

在重新啟動時,我想保留以前的日誌,以便將更新的消息附加到現有的日誌文件中,而不是截斷它。

將我的 Web 應用程序作為守護程序執行的推薦方式是什麼?

我試過nohup ruby app.rb &了,但這似乎缺少 stderr 並且在某些情況下日誌語句似乎是亂序的。

在 bash 下,嘗試:

nohup ruby app.rb >> /log/file 2>&1 &

screen -L -dmS somename ruby app.rb

這將啟動一個名為“somename”的螢幕程序,程序的所有輸出都將記錄到目前工作目錄中的 screenlog.0 中。

如果您出於某種原因想要取回應用程序的控制台,您可以執行screen -r somename.

引用自:https://serverfault.com/questions/214184