部署后如何重启puma?
How to restart puma after deploy?
我正在使用 Rails、Puma、Capistrano3。我也安装了 gem capistrano3-puma
。我用 Puma Jungle 开始了 Puma https://github.com/puma/puma/tree/master/tools/jungle/upstart
如何在部署期间重启 Puma?
您可以使用以下命令手动重启
bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
确保指向正确的 pid 路径。
据我所知,如果你正在使用 capistrano3-puma
gem,你不需要在部署后显式地重启 puma。有一个任务 add_default_hooks
在部署后执行 puma:smart_restart
。
您可以通过cap -vT
查看任务列表。我认为 cap puma:restart
会完成工作。
生产
如果您在生产环境中使用 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 终止进程 'kindly' 关闭所有文件、连接、清理缓冲区等
最后你运行这个命令:
puma -e development -p 3000 -d
Puma会再次启动开发模式,监听3000端口,执行会被妖魔化。
我 运行 遇到了这样的问题,我需要在一些环境更改后重新启动 puma,并且不想对应用程序进行完整部署。
只想重启puma和nginx。以下是对我有用的命令:
$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
希望对某人有所帮助
cap production puma:stop
cap production puma:start
或
cap production puma:restart
适用于任何平台且 Puma 服务器本身支持的通用答案是使用 tmp_restart
插件。
添加到您的config/puma.rb
plugin :tmp_restart
之后,当您想要重新启动 puma 应用程序时,只需触摸文件 (touch tmp/restart.txt
)。
来源:https://github.com/puma/puma/blob/master/lib/puma/plugin/tmp_restart.rb
我正在使用 Rails、Puma、Capistrano3。我也安装了 gem capistrano3-puma
。我用 Puma Jungle 开始了 Puma https://github.com/puma/puma/tree/master/tools/jungle/upstart
如何在部署期间重启 Puma?
您可以使用以下命令手动重启
bundle exec pumactl -P /home/deploy/.pids/puma.pid restart
确保指向正确的 pid 路径。
据我所知,如果你正在使用 capistrano3-puma
gem,你不需要在部署后显式地重启 puma。有一个任务 add_default_hooks
在部署后执行 puma:smart_restart
。
您可以通过cap -vT
查看任务列表。我认为 cap puma:restart
会完成工作。
生产
如果您在生产环境中使用 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 终止进程 'kindly' 关闭所有文件、连接、清理缓冲区等
最后你运行这个命令:
puma -e development -p 3000 -d
Puma会再次启动开发模式,监听3000端口,执行会被妖魔化。
我 运行 遇到了这样的问题,我需要在一些环境更改后重新启动 puma,并且不想对应用程序进行完整部署。
只想重启puma和nginx。以下是对我有用的命令:
$ bundle exec cap production deploy:restart
$ bundle exec cap production puma:restart
希望对某人有所帮助
cap production puma:stop
cap production puma:start
或
cap production puma:restart
适用于任何平台且 Puma 服务器本身支持的通用答案是使用 tmp_restart
插件。
添加到您的config/puma.rb
plugin :tmp_restart
之后,当您想要重新启动 puma 应用程序时,只需触摸文件 (touch tmp/restart.txt
)。
来源:https://github.com/puma/puma/blob/master/lib/puma/plugin/tmp_restart.rb