Как мне заставить мой сервер продолжать работать без поддержки SSH-соединения?

Как мне заставить мой сервер продолжать работать без поддержки SSH-соединения?

Я подключаюсь к своему серверу через SSH, на котором установлены Erlang и Cowboy для запуска моей веб-страницы.

ssh [email protected]

Затем я запускаю свое веб-приложение, выполнив:

./_rel/web_server_example/bin/web_server_example console

Что приводит меня к последней строке, содержащей:

([email protected])1> 

приглашение erlang. Теперь мне нужны и сервер, и мой домашний компьютер, который к нему подключен, потому что если я закрою терминал, то программа erlang на сервере остановится. Как мне сохранить программу работающей, а домашний компьютер выключить?

решение1

У вас есть (как минимум) 2 варианта:

1) Используйте nohup. Команда:

nohup ./_rel/web_server_example/bin/web_server_example console &

затем вы можете выйти из сеанса ssh. Вывод вашего процесса будет перенаправлен в файл nohup.out

2) Используйте GNU screen. Скорее всего, вам сначала понадобится установить его: apt-get install screen. Затем:

screen bash
./_rel/web_server_example/bin/web_server_example console
<Ctrl-A> D

На этом этапе у вас будет сеанс screen, работающий в фоновом режиме. Вы можете выйти из сеанса ssh. Прелесть способа screen в том, что вы можете подключиться снова позже. Войдите на этот сервер и введите команду screen -r. Вы вернетесь к своей web_server_exampleкоманде и сможете делать такие вещи, как нажатие, чтобы прервать ее или взаимодействовать с ней каким-либо другим способом.

Связанный контент