我可以在不重启服务器的情况下进行Sinatra程序吗

时间:2011-04-16 03:21:26

标签: ruby sinatra

当我修改代码并且必须重新启动服务器才能看到结果。有办法吗?

3 个答案:

答案 0 :(得分:29)

有一些选项,详见Sinatra FAQ。最简单的似乎是使用shotgun,您可以按如下方式安装和调用:

$ sudo gem install shotgun
$ shotgun myapp.rb

或者如果您使用通过继承Sinatra::Base定义您的应用并使用config.ru文件:

$ shotgun config.ru -p 4567

答案 1 :(得分:5)

如果您使用Phusion Passenger,则可以将此文件放在应用程序的根文件夹

TMP / always_restart.txt

并且会在每次请求时重新启动。

http://www.modrails.com/documentation/Users%20guide%20Apache.html(第8.7节)

答案 2 :(得分:1)

更好的方法是使用sinatra-contrib gem(也来自Sinatra FAQ)的重新加载器:首先安装sinatra-contrib gem,然后确保你的应用程序.rb文件以这些行开头:

require 'sinatra'
require 'sinatra/reloader' if development?

然后将重新加载任何已修改的配置文件(无需重新启动服务器!)