我有一个使用ruby app.rb在本地机器上运行的sinatra应用程序。
当通过ssh在远程机器上部署它时,我如何在后台运行它,并将stdout和stderrredirect到日志文件。 在重新启动时,我想保留以前的日志,以便将更新的消息追加到现有的日志文件中,而不是截断它。
运行我的webapp作为守护进程的推荐方式是什么?
我已经尝试了nohup ruby app.rb & ,但似乎缺lessstderr,并且在某些情况下,日志语句似乎无序。
在bash下,尝试:
nohup ruby app.rb >> /log/file 2>&1 &
screen -L -dmS somename ruby app.rb
这将启动一个名为“somename”的屏幕进程,程序的所有输出都logging到当前工作目录的screenlog.0中。
如果您因为某种原因想要取回应用程序的控制台,则可以执行screen -r somename 。