如何在后台启动rails服务器

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

您可以使用script/server -d将其作为守护程序运行

如果你使用thin:

rails server thin -d

并且,为了阻止它:

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

回答有点晚了。 但这对未来的人有好处。

假设它拥有Unix / Linux操作系统,最简单快捷的方式将rails(或任何服务在后台)放入

$ nohup rails server &

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

$ nohup &

&运行你的服务器:

 script/server -e test& 

它将把它放到后台。

或者你可以使用像瘦的其他服务器: http : //code.macournoyer.com/thin/

 (sudo) gem install thin 

然后使用启动和停止它

 thin start thin stop 

一种方法,即使在ssh上保持连接也是使用Screen,这使得子终端不受当前控制台的影响。 sudo apt-get install screen打开screen然后启动rails rails server &&只是让它运行它的背景。 要停止它,请输入kill -9 # ,其中#是启动它时给出的数字。

按“Crtl + A”退出并键入screen -r以返回到屏幕终端。

另一种选择是与乘客一起使用apache,它很容易设置,一旦你完成它就可以用于所有其他应用程序。 此外,它最有可能接近你在生产中运行的东西,这是另一个好处。

如果你在Mac上,你也可以获得乘客偏好窗格,这简化了apache配置步骤。