Запустите приложение Sinatra в фоновом режиме, перенаправив (добавив) в файл stdout и stderr
У меня есть приложение Sinatra, которое я запускаю на своей локальной машине, используя ruby app.rb
, Развертывая его на удаленной машине через ssh, как мне запустить его в фоновом режиме и перенаправить stdout и stderr в файл журнала?
При перезапуске я хочу сохранить предыдущие журналы, чтобы новые сообщения добавлялись к существующему файлу журнала вместо его усечения.
Каков рекомендуемый способ запуска моего веб-приложения в качестве демона?
я пробовал nohup ruby app.rb &
, но это, кажется, отсутствует stderr, и операторы журнала в некоторых случаях не работают.
2 ответа
screen -L -dmS somename ruby app.rb
Это запустит процесс экрана с именем "somename", при этом весь вывод программы будет зарегистрирован на screenlog.0 в текущем рабочем каталоге.
Если вы по какой-либо причине захотите вернуть консоль приложения, вы можете сделать screen -r somename
,