2010-12-02 52 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> &

相關問題