如何在不停止和启动Mongrel的情况下重启Mongrel下的Rails

有没有办法在Mongrel运行时重新启动Rails应用程序(例如,当你更改了插件/配置文件时)。 或者快速重启Mongrel。 Mongrel给出了这些提示,但你怎么做?

**信号准备好了。 TERM =>停止。 USR2 =>重启。 INT =>停止(不重启)。

** Rails信号已注册。 HUP =>重新加载(不重启)。 它可能不会很好。

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

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

1发现当前的杂种pid路径,例如:

> ps axf | fgrep杂种

你会看到一个如下的流程线:

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问题。

在你的rails主目录中

 mongrel_rails cluster::restart 

例如,

 killall -USR2 mongrel_rails