Как я могу заставить мой сервер продолжать работать без поддержки ssh-соединения?
Я подключаюсь к своему серверу через ssh, на котором установлены erlang и cowboy для запуска моей веб-страницы.
ssh root@my.ip.adress
Затем я запускаю свое веб-приложение, выполняя;
./_rel/web_server_example/bin/web_server_example console
Что оставляет меня в последней строке, содержащей;
(web_server_example@127.0.0.1)1>
эрланг подсказка. Теперь мне нужен и сервер, и мой домашний компьютер, который к нему подключен, потому что, если я закрою терминал, он остановит программу erlang на сервере. Как сохранить работоспособность программы и отключить домашний компьютер?
1 ответ
У вас есть (как минимум) 2 варианта:
1) Использование nohup
, Команда:
nohup ./_rel/web_server_example/bin/web_server_example console &
тогда вы можете выйти из сеанса SSH. Вывод вашего процесса будет перенаправлен в файл nohup.out
2) Используйте экран GNU. Скорее всего, вам нужно сначала установить его: apt-get install screen
, Затем:
screen bash
./_rel/web_server_example/bin/web_server_example console
<Ctrl-A> D
На этом этапе у вас будет сеанс экрана, работающий в фоновом режиме. Вы можете выйти из сеанса SSH. Прелесть экранного способа делать вещи в том, что вы можете прикрепить его позже. Войдите на этот сервер и введите команду screen -r
, Вы вернетесь к своему web_server_example
команда, и вы можете делать такие вещи, как нажатие, чтобы прервать его или вмешиваться в него каким-либо другим способом.