Ich habe eine Sinatra-App, die ich auf meinem lokalen Computer verwende ruby app.rb
. Wie führe ich es während der Bereitstellung auf einem Remotecomputer über ssh im Hintergrund aus und leite stdout und stderr in eine Protokolldatei um?
Bei einem Neustart möchte ich die vorherigen Protokolle beibehalten, damit neuere Nachrichten an die vorhandene Protokolldatei angehängt werden, anstatt sie abzuschneiden.
Was ist die empfohlene Methode, um meine Webanwendung als Daemon auszuführen?
Ich habe es versucht nohup ruby app.rb &
, aber das scheint stderr zu fehlen und die log-Anweisungen scheinen in einigen Fällen nicht in Ordnung zu sein.
daemon
background-process
background
stderr
sinatra
letronje
quelle
quelle
&
?screen -L -dmS somename ruby app.rb
Dadurch wird ein Bildschirmprozess mit dem Namen 'somename' gestartet, wobei alle Ausgaben des Programms im aktuellen Arbeitsverzeichnis in screenlog.0 protokolliert werden.
Wenn Sie aus irgendeinem Grund jemals die Konsole der Anwendung wiederherstellen möchten, können Sie dies tun
screen -r somename
.quelle