Запустите Shell Script внутри tmux

Почему после запуска tmux на удаленном сервере через ssh программа работает; но после отключения сеансов он возвращает 404?

Это программа Go (golang), http-сервер, прослушивающий порт за обратным прокси-сервером nginx.

Первые данные: все работает так:

1 - я подключаюсь к серверу, используя ssh user@server-ip,

2 - запускаю tmux,

3 - запустить этот скрипт в сеансе tmux, с помощью . my-script.sh:

#!/bin/sh

go build -v

exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>/tmp/myapi.log 2>&1

export API_COUCHDB_ADMIN='admin'
export API_COUCHDB_PASSWORD='************'
export API_COUCHDB_URL='http://172.17.0.2:5984/'
# [some other env variables ...]
./myapi

4 - отключить сеанс tmux с помощью Ctrl-b , а затем d .

1117 Пока все хорошо! В браузере все работает нормально по адресу http://www.myapi-consumer.com, а терминал ssh по-прежнему открыт; но

5 - когда я отключаю сессию ssh (с помощью Ctrl + a и d ), программа больше не работает правильно и возвращает 404 (это та, которая отправляет 404).

6 - Теперь, когда я снова подключаюсь к удаленному серверу, используя ssh user@server-ip, он снова работает как положено, и я проверяю «рабочую» часть на другом соединении - на моем мобильном телефоне с другим интернет-соединением.

Что происходит?

1
задан 15 May 2016 в 09:30

2 ответа

Проблема в том, что приложение обслуживает файлы, которые находятся в домашнем каталоге, который отключается при отключении.

Я получил ответ от группы голанг-орехов здесь .

0
ответ дан 15 May 2016 в 09:30

Вот как я понимаю.

Вы говорите, что выходите из сеанса или закрываете текущий сеанс терминала. Программа работает, и вы просто закрыли свой терминал, он больше не будет работать.

Но вы используете tmux и на этом все tmux для запуска программ в фоновом режиме.

Попробуйте запустить программу, поместив ее из фона. Я имею в виду

nohup myscript.sh &

nohup, чтобы запустить ваш скрипт, даже если вы выйдете из него, &[and], чтобы отодвинуть ваш скрипт в фоновый режим.

Надеюсь, это поможет вам.

0
ответ дан 15 May 2016 в 09:30

Другие вопросы по тегам:

Похожие вопросы: