我正在使用Rails,Puma,Capistrano3。我也安装了gem capistrano3-puma
。我和Puma Jungle https://github.com/puma/puma/tree/master/tools/jungle/upstart
如何在部署期间重新启动Puma?
答案 0 :(得分:40)
您可以使用以下命令手动重启
bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
确保指向正确的pid路径。
答案 1 :(得分:19)
<强>生产强>
如果您在制作中使用capistrano,您可以:
cap production deploy:restart
<强>开发强>
如果您在开发环境中,则可以开始寻找pid
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
是puma服务器的进程ID(PID)。你可以手动杀死它并在之后重启服务器。运行此命令:
kill -s 15 11654
此命令说使用信号SIGTERM(代码15)终止id为11654的进程。 SIGTERM彻底杀死了这个过程&#39;关闭所有文件,连接,清理缓冲区等。
最后你运行这个命令:
puma -e development -p 3000 -d
Puma将在开发模式下再次启动,侦听端口3000并执行将被妖魔化。
答案 2 :(得分:13)
我遇到了一些问题,我需要在一些环境变化后重新启动puma,并且不想完全部署应用程序。
我只想重启puma和nginx。以下是适用于我的命令:
$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
希望能帮到某人
答案 3 :(得分:2)
据我所知,如果你使用capistrano3-puma
gem,你不需要在部署后明确重启puma。有一个任务add_default_hooks
在部署后执行puma:smart_restart
。
您可以按cap -vT
查看任务列表。我认为cap puma:restart
将完成这项工作。
答案 4 :(得分:0)
cap production puma:stop
cap production puma:start
或
cap production puma:restart