Daemon
在後台啟動 Sinatra 應用程序,並將 stdout 和 stderr 重定向(附加)到文件
我有一個 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
.