我有設置在服務器上的代碼和數據庫。我運行命令欄,但是一旦我的本地系統關閉,服務器就會關閉。有沒有辦法讓web服務器在服務器上運行。 Capistrano可能沒有必要,因爲我在服務器本身上有代碼。 Webrick是我目前使用的webser。Rails應用程序部署:Web服務器關閉。
這是第一次部署,任何幫助將不勝感激。
在此先感謝。
我有設置在服務器上的代碼和數據庫。我運行命令欄,但是一旦我的本地系統關閉,服務器就會關閉。有沒有辦法讓web服務器在服務器上運行。 Capistrano可能沒有必要,因爲我在服務器本身上有代碼。 Webrick是我目前使用的webser。Rails應用程序部署:Web服務器關閉。
這是第一次部署,任何幫助將不勝感激。
在此先感謝。
嘗試在thin
服務器上運行您的應用程序。
在您的gemfile中寫入gem 'thin'
。
做bundle install
寫thin start
而不是rails s
。
您的服務器將不會停止,直到除非你寫thin stop
我覺得上面會爲你工作。
在生產中使用WEBrick是非常少見的。有一個Stack Overflow discussion of why和很多人告訴你不要在網絡上。我真的不是的粉絲「因爲大家都這麼說!」的答案,但谷歌會發現你很多很多的意見。
rails server -d
但是:
但是,如果你的應用不是很廣泛的,並且您已經向資源備用服務器上,您可以在daemon模式當你開始你的服務器上運行,只有這樣,才能阻止這種一旦開始是讓PID和對過程調用kill
:
kill -9 thepidhere
(我發現-9是必要的,或者拒絕停止)
如果要更換爲其他服務器,請查看thin,Unicorn和Nginx。對於一個大的,健壯的,可定製的解決方案,請查看this post關於Apache和Mongrel。
您必須建立一個守護進程,以便即使沒有使用命令欄打開本地終端,它也可以運行。試試像rails s -d。您也可以安裝乘客並寫入乘客,啓動-d或thin並寫入導軌s -d。
爲了更好的部署,如果使用獨立的方式運行它,那麼添加一個初始化腳本以自動啓動應用程序將是一個不錯的主意。
+1不使用webrick ...如果你有多個併發用戶,你需要更好的東西。 – sevenseacat