Как перезапустить puma после развертывания?
Я использую Rails, Puma, Capistrano3. Я установил драгоценный камень capistrano3-puma
Как хорошо. Я начал Пума с Пума джунглей https://github.com/puma/puma/tree/master/tools/jungle/upstart
как перезапустить Puma во время развертывания?
4 ответов
вы можете перезапустить вручную, используя следующую команду
bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
убедитесь, что вы указали правильный путь pid.
производства
если вы используете capistrano на производстве, вы можете:
cap production deploy:restart
развитие
если вы находитесь в среде разработки, вы можете начать искать пид
ps aux | grep puma
вы увидите что-то вроде этого:
user 11654 0.0 13.4 870204 137016 ? Sl Jul07 0:39 puma 2.13.4 (tcp://0.0.0.0:3000) [NameOfYourApp]
число рядом с именем пользователя, в данном случае 11654
- это идентификатор процесса (PID) сервера Puma. Вы можете убить его вручную и перезапустить сервер после. Запустите это команда:
kill -s 15 11654
эта команда говорит убить процесс с id 11654 с помощью сигнала SIGTERM (код 15). SIGTERM убивает процесс "любезного" закрытия всех файлов, соединений, очистки буферов и т. д.
последний раз вы запускаете эту команду:
puma -e development -p 3000 -d
Puma будет запущен снова в режиме разработки, прослушивание на порту 3000 и выполнение будет демонизировано.
я столкнулся с проблемой, когда мне нужно перезапустить puma после некоторых изменений среды и не хотел делать полное развертывание приложения.
Я только хотел перезапустить puma и nginx. Вот команды, которые сработали для меня:
$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
надеюсь, что это поможет кому-то
насколько я знаю, если вы используете capistrano3-puma
gem, вам не нужно перезапускать Puma явно после развертывания. Есть задача add_default_hooks
что значит puma:smart_restart
после развертывания.
вы увидите список задач cap -vT
. Я думаю cap puma:restart
сделает работу.