Сервер Rails на хостинге AWS

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

1. ssh -i <<a>my-keypair-pem> ec2-user@<<a>AWS-IPv4-public-IP>
2. rails s -p <<a>port> -b 0.0.0.0

Через некоторое время я тоже получаю эту ошибку

'packet_write_wait: подключение к порту 22: сломанный канал'

Я провел некоторое исследование и, похоже, не могу найти способ, чтобы приложение работало круглосуточно без необходимости выполнять эти шаги перед каждым доступом. Мой экземпляр AWS работает 24 часа в сутки, поэтому веб-сайт также должен работать круглосуточно.

Будет ли назначить эластичный IP для моей помощи?

Ценю любое руководство.

РЕДАКТИРОВАТЬ: я следовал этому руководству первоначально https://www.youtube.com/watch?v=jFBbcleSPoY и именно там я нашел шаги, упомянутые выше.

2 ответа

Решение

Решена проблема с https://mosh.org/, для всех, кто наткнется на этот пост в будущем.

Скачайте и установите mosh (мобильная оболочка)
Запустите измененную версию команды, упомянутой в моем исходном вопросе.

mosh -ssh="ssh -i <your-keypair.pem>" ec2-user@<AWS-Instance-IP>

Это решило мои проблемы с package_write_wait, и мне не нужно перезапускать сервер rails.

Есть много способов запустить сервер rails как демон. Если вы воспользуетесь "rails server as daemon", вы увидите много ссылок. Еще не добавлено ни одной ссылки, так как многие хорошие ссылки предоставлены хостинг-провайдерами.

Если вы все еще хотите запустить сервер rails через оболочку по какой-то причине, tmux это путь Следующий отрывок бесстыдно скопирован из Tmux Wiki.

tmux - это терминальный мультиплексор. Это позволяет легко переключаться между несколькими программами в одном терминале, отсоединять их (они продолжают работать в фоновом режиме) и подключать их к другому терминалу.

Вы можете открыть tmux Терминал и запуск сервера рельсов. Вы можете отсоединиться от tmux и выйдите из сеанса SSH. Когда бы вы ни захотели, вы можете вернуться на свой сервер и снова подключиться к tmux сессия. Ваш сервер rails будет по-прежнему работать, когда вы его покинули. Это отличный способ запустить сервер разработки на переднем плане для отладки.

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