使用Thin替代WEBrick的Rackup

12

我刚开始使用Sinatra,开发服务器已经运行,但是rackup使用的是WEBrick而不是ThinThin gem已经安装好了,这应该只是一个简单的配置调整,但我不知道在哪里。顺便问一下,当我改变源代码时,Thin是否会自动刷新?看起来我必须停止并重新启动WEBrick才能使源代码更改生效。

编辑 如建议所述,对于我的设置,thin start需要进行微调才能正常工作。它本身会抛出一个错误"start_tcp_server": no acceptor (RuntimeError),这意味着我已经在该端口上运行了另一个服务。为了解决这个问题,我只需运行thin start -p 9292即可。希望这能帮助其他人。

2个回答

15

12

您可以使用$ thin start来启动Thin服务器。

如果您需要代码热重载,可以使用众多相关的热重载库之一:Shotgun(会在每个请求时进行fork和退出,在Windows系统下无法使用),Rack Reloader(是一个Rack中间件)或Sinatra Reloader。我个人更喜欢使用Sinatra Reloader,因为它只会重新加载已更改的文件,因此速度更快。另外,还可以添加要重新加载的其他文件以及不得重新加载的文件。


谢谢,thin start 对我有用,只需要稍作修改,详见更新后的问题答案。 - Johnny Klassy
Sinatra Reloader比Shotgun快得多。谢谢! - pw.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接