Я'м через рельсы, Пума, Capistrano3. Я установил capistrano3-пума камень `` как хорошо. Я начал с Пума Пума в джунглях https://github.com/puma/puma/tree/master/tools/jungle/upstart
Как перезапустить Пума во время развертывания?
Вы можете перезагрузить вручную, используя следующую команду
bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
Убедитесь, что вы указываете на правильный пид пути.
Производства
Если вы используете Капистрано на продукцию вы можете:
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) пума сервер. Вы можете убить его вручную и перезапустить сервер после. Выполните эту команду:
kill -s 15 11654
Эта команда говорит убить процесс с ID 11654, используя сигнал SIGTERM (код 15). Прекращается убивает процесс 'пожалуйста,' закрытие всех файлов, подключений, очистки буферов и т. д.
Наконец, вы выполните эту команду:
puma -e development -p 3000 -d
Пума будет вновь запущен в режиме развития, слушает на порту 3000 и исполнение будет демонизироваться.
Я наткнулся на проблему, где мне нужно перезагрузить пума после некоторых изменений окружающей среды и не хотите сделать полное развертывание приложения.
Я всего лишь хотел перезапустить пума и nginx. Вот несколько команд, которые работали для меня:
$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
Надеюсь, что помогает кто-то
Насколько я знаю, если вы используете capistrano3-пума джем, вам не нужно явно перезагрузите пума после развертывания. Есть задача
add_default_hooksчто делает
пума:smart_restart после развертывания.
Вы можете увидеть список задач кап -Вт
. Я думаю, что шапка пума:перезагрузка` будет делать работу.