如何在Mongrel下重新启动Rails,而不停止和启动Mongrel

时间:2020-03-05 18:56:28  来源:igfitidea点击:

在Mongrel运行时,是否有一种方法可以重新启动Rails应用程序(例如,当我们更改了插件/配置文件时)。或者,快速重新启动Mongrel。 Mongrel给出了这些提示,但是我们怎么做呢?

**信号准备就绪。 TERM =>停止。 USR2 =>重新启动。 INT =>停止(不重新启动)。

**已注册Rails信号。 HUP =>重新加载(不重新启动)。它可能无法正常工作。

解决方案

回答

例如,

killall -USR2 mongrel_rails

回答

在rails主目录中

mongrel_rails cluster::restart

回答

如果应用程序集群的配置位于其他位置,则可以添加-c选项:

mongrel_rails cluster::restart -c /path/to/config

回答

第一个发现当前的杂种pid路径,如下所示:

>ps axf | fgrep mongrel

我们将看到类似以下的过程行:

ruby /usr/lib64/ruby/gems/1.8/gems/swiftiply-0.6.1.1/bin/mongrel_rails start -p 3000 -a 0.0.0.0 -e development -P / home / xxyyzz / rails / myappname / tmp / pids / mongrel.pid -d

采取'-P /home/xxyyzz/rails/myappname/tmp/pids/mongrel.pid'部分,并像这样使用它:

>mongrel_rails restart -P  /home/xxyyzz/rails/myappname/tmp/pids/mongrel.pid

通过PID 18481将USR2发送到Mongrel ...完成。

我用它来从可怕的"断管"恢复到MySQL问题。