2012-12-04 90 views
0

我有設置在服務器上的代碼和數據庫。我運行命令欄,但是一旦我的本地系統關閉,服務器就會關閉。有沒有辦法讓web服務器在服務器上運行。 Capistrano可能沒有必要,因爲我在服務器本身上有代碼。 Webrick是我目前使用的webser。Rails應用程序部署:Web服務器關閉。

這是第一次部署,任何幫助將不勝感激。

在此先感謝。

回答

0

嘗試在thin服務器上運行您的應用程序。

在您的gemfile中寫入gem 'thin'
bundle install
thin start而不是rails s
您的服務器將不會停止,直到除非你寫thin stop

我覺得上面會爲你工作。

1

在生產中使用WEBrick是非常少見的。有一個Stack Overflow discussion of why和很多人告訴你不要在網絡上。我真的不是的粉絲「因爲大家都這麼說!」的答案,但谷歌會發現你很多很多的意見。

rails server -d

但是:

但是,如果你的應用不是很廣泛的,並且您已經向資源備用服務器上,您可以在daemon模式當你開始你的服務器上運行,只有這樣,才能阻止這種一旦開始是讓PID和對過程調用kill

kill -9 thepidhere (我發現-9是必要的,或者拒絕停止)

如果要更換爲其他服務器,請查看thinUnicornNginx。對於一個大的,健壯的,可定製的解決方案,請查看this post關於Apache和Mongrel。

+0

+1不使用webrick ...如果你有多個併發用戶,你需要更好的東西。 – sevenseacat

0

您必須建立一個守護進程,以便即使沒有使用命令欄打開本地終端,它也可以運行。試試像rails s -d。您也可以安裝乘客並寫入乘客,啓動-d或thin並寫入導軌s -d。

爲了更好的部署,如果使用獨立的方式運行它,那麼添加一個初始化腳本以自動啓動應用程序將是一個不錯的主意。

相關問題