當我修改代碼並且必須重新啓動服務器才能看到結果。有什麼辦法嗎?我可以在沒有重新啓動服務器的情況下執行Sinatra程序嗎?
回答
有幾個選項,在Sinatra FAQ中有詳細說明。最簡單的似乎是使用shotgun
,您可以安裝並調用如下:
$ sudo gem install shotgun
$ shotgun myapp.rb
,或者如果您使用從Sinatra::Base
繼承您的應用定義和使用config.ru
文件:
$ shotgun config.ru -p 4567
如果您使用的Phusion客運,你可以把這個文件在應用程序的根文件夾
TMP/always_restart.txt
,它會在每次請求時重新啓動。
http://www.modrails.com/documentation/Users%20guide%20Apache.html(8.7節)
如果在OS X中使用37signal的''pow'',並且在開發過程中非常方便,上面的方法也可以工作。(http://pow.cx/manual.html#section_2.5) – nimrodm 2012-12-16 18:45:05
更好的辦法是使用reloader從西納特拉-的contrib寶石(也Sinatra FAQ):首先安裝西納特拉-的contrib寶石,然後確保你的應用程序文件名爲.rb這些行開始:
require 'sinatra'
require 'sinatra/reloader' if development?
然後任何修改過的配置文件將重新加載(無需重新啓動服務器!)
如果你使用模塊化風格運行Sinatra,那麼你認爲這種方法可行嗎? – Mohamad 2013-08-23 16:11:21
- 1. 我可以在不重新啓動Jetty服務器的情況下更新應用程序配置文件嗎?
- 2. nginx - 我可以在不重新啓動服務器的情況下添加新的虛擬主機嗎?
- 3. 如何在沒有重新啓動應用程序服務器的情況下重新初始化bean
- 4. Windows服務可以在不登錄的情況下啓動應用程序嗎?
- 5. 在運行Flask會話的情況下從python程序重新啓動服務
- 6. Android:我可以在沒有活動的情況下訪問系統服務嗎?
- 7. 是否可以在不重新啓動JSF服務器的情況下更新應用程序?
- 8. X服務器可以在沒有物理屏幕的情況下運行嗎?
- 9. 在沒有終止/重新啓動服務器的情況下更新[代碼] web應用程序
- 10. 在什麼情況下需要重新啓動JBoss服務器?
- 11. (How)我可以在沒有插件的情況下在Dynamics CRM服務器上執行C#代碼嗎?
- 12. 在沒有服務器的情況下執行反應webpack包
- 13. 在沒有服務器的情況下重新使用導航
- 14. 可以在沒有明顯啓動應用程序的情況下執行一個applescript「tell」調用嗎?
- 15. 如何在不重新啓動的情況下「重新啓動」Internet Explorer服務
- 16. Sinatra:在啓動或重新啓動我的應用程序時執行代碼
- 17. 節點可以在不重新啓動服務器的情況下動態插入調色板嗎?
- 18. 在不重新啓動服務器的情況下運行新的/更新的應用程序文件
- 19. Windows驅動程序可以在沒有客戶端的情況下運行嗎?
- 20. 我可以在沒有啓動並行進程的情況下在Django中運行後臺進程嗎?
- 21. 如何在不登錄服務器的情況下重新啓動sshd服務?
- 22. 我可以在沒有登錄的情況下運行tfs嗎?
- 23. 如何在不重新啓動的情況下運行Google App Engine服務器?
- 24. 在不重新啓動服務的情況下更改jobcron
- 25. WebSphere:我可以在不重新啓動jvm的情況下重新加載事務設置嗎?
- 26. 有沒有辦法在不重新啓動Solr服務器的情況下動態更新同義詞文件?
- 27. 我可以在沒有removeFromSuperview的情況下執行addSubview幾次嗎?
- 28. 我可以在沒有jQuery的情況下執行此操作嗎?
- 29. 我可以在沒有XML文件的情況下執行TestNG嗎?
- 30. 春季MVC可以在沒有應用程序服務器的情況下運行嗎?
如果執行從項目目錄'shotgun',它會找到'自動config.ru'。 – 2011-04-16 03:52:53
作爲一個說明,霰彈槍自動重新啓動應用程序。應該明確自動考慮更改與重新啓動應用程序之間的區別。 +1雖然。 – jer 2011-04-16 03:53:18
在模塊化風格下運行Sinatra時,這將如何工作? – Mohamad 2013-08-23 16:14:58