部署后如何重启puma?

mys*_*eim 36 deployment ruby-on-rails puma capistrano3

我正在使用Rails,Puma,Capistrano3.我也安装了宝石capistrano3-puma.我和Puma Jungle一起创办了Puma https://github.com/puma/puma/tree/master/tools/jungle/upstart

如何在部署期间重新启动Puma?

小智 44

您可以使用以下命令手动重新启动

bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
Run Code Online (Sandbox Code Playgroud)

确保指向正确的pid路径.

  • 对我来说“bundle exec pumactl restart”就足够了。 (2认同)

Ren*_*hel 20

生产

如果您在制作中使用capistrano,您可以:

cap production deploy:restart
Run Code Online (Sandbox Code Playgroud)

发展

如果您在开发环境中,则可以开始寻找pid

ps aux | grep puma
Run Code Online (Sandbox Code Playgroud)

你会看到这样的东西:

user 11654  0.0 13.4 870204 137016 ?       Sl   Jul07   0:39 puma 2.13.4 (tcp://0.0.0.0:3000) [NameOfYourApp]
Run Code Online (Sandbox Code Playgroud)

用户名旁边的数字,在这种情况下11654是puma服务器的进程ID(PID).你可以手动杀死它并在之后重启服务器.运行此命令:

kill -s 15 11654
Run Code Online (Sandbox Code Playgroud)

这个命令说使用信号SIGTERM(代码15)使用id 11654终止进程.SIGTERM"关闭"所有文件,连接,清理缓冲区等等.

最后你运行这个命令:

puma -e development -p 3000 -d
Run Code Online (Sandbox Code Playgroud)

Puma将在开发模式下再次启动,侦听端口3000并执行将被妖魔化.


Ray*_*ter 13

我遇到了一些问题,我需要在一些环境变化后重新启动puma,并且不想完全部署应用程序.

我只想重启puma和nginx.以下是适用于我的命令:

$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
Run Code Online (Sandbox Code Playgroud)

希望能帮助别人