2010-12-02 54 views
8

当我运行ruby script/server -e test时,它在控制台上运行。当我关闭控制台时,它也会停止该过程。我想在后台运行服务器。我怎样才能做到这一点?如何在后台启动rails服务器

回答

3

末运行与&服务器:

script/server -e test& 

它将把它的背景。

或者你可以使用其他服务器一样薄:http://code.macournoyer.com/thin/

(sudo) gem install thin 

,然后开始使用

thin start 
thin stop 
19

阻止它您可以与script/server -d

+0

它只是显示前两行=>启动Mongrel => Rai ls 2.3.5应用程序从http://0.0.0.0:3000开始 – 2010-12-02 13:00:54

+0

@Usman阿里:是的。这意味着服务器已启动。如果你在`* nix`系统上,你可以检查它是否在运行:`ps aux | grep'脚本/服务器' – Swanand 2010-12-02 13:12:35

+0

@Swanand:我已经尝试过它也处理列表也没有显示出一些东西。:( – 2010-12-02 13:20:31

0

其他运行它作为一个守护进程选项是与乘客一起使用apache,设置起来非常简单,一旦您完成后就可以将其用于所有其他应用程序。另外它最有可能接近你在生产中运行的东西,所以这是另一个好处。

如果你在Mac上,你也可以得到乘客喜好面板,这简化了Apache配置步骤。

+0

我们可以在服务器启动期间启动瘦服务器。我无法这样做。请帮助我。 – Catmandu 2014-11-04 12:06:02

19

如果使用薄:

rails server thin -d

而且,为了阻止它:

kill -9 $(cat tmp/pids/server.pid)

2

的一种方式做到这一点,甚至保持连接上的SSH使用屏幕,这使得子终端不受当前控制台的影响。 sudo apt-get install screen打开屏幕screen然后开始导轨rails server &&只是让它运行它的背景。要停止输入,请键入kill -9 #,其中#是启动它时提供的数字。

按'Crtl + A'退出并输入screen -r返回到屏幕终端。

10

它有点迟来回答。但这对未来的人会有好处。

把轨(或任何背景服务)的最简单和快捷的方式假定它拥有的Unix/Linux操作系统

$ nohup rails server &

这可以被用于任何服务这样

$ nohup <service command> &

相关问题