How do you restart Rails under Mongrel, without stopping and starting Mongrel

会有一股神秘感。 提交于 2019-12-30 06:19:01

问题


Is there a way to restart the Rails app (e.g. when you've changed a plugin/config file) while Mongrel is running. Or alternatively quickly restart Mongrel. Mongrel gives these hints that you can but how do you do it?

** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).

** Rails signals registered. HUP => reload (without restart). It might not work well.


回答1:


You can add the -c option if the config for your app's cluster is elsewhere:

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



回答2:


1st discover the current mongrel pid path with something like:

>ps axf | fgrep mongrel

you will see a process line like:

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

Take the '-P /home/xxyyzz/rails/myappname/tmp/pids/mongrel.pid' part and use it like this:

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

Sending USR2 to Mongrel at PID 18481...Done.

I use this to recover from the dreaded "Broken pipe" to MySQL problem.




回答3:


in your rails home directory

mongrel_rails cluster::restart



回答4:


For example,

killall -USR2 mongrel_rails


来源:https://stackoverflow.com/questions/74218/how-do-you-restart-rails-under-mongrel-without-stopping-and-starting-mongrel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!