帮助用Sinatra启动我的瘦服务器

时间:2010-03-25 08:34:44

标签: ruby nginx sinatra thin

我是一个试图让Ruby和Sinatra湿透的新人。我跟随Slicehost文章获取Ruby 1.9.1设置以及Thin 1.2.7和Nginx的反向代理。

在我尝试启动瘦服务器之前,大多数事情都很顺利。

这是我从日志中获得的输出:

$ sudo thin -C config.yml -R config.ru start
  /home/user/public_html/testapp/config.ru:9:in `block in <main>': undefined method `application' for Sinatra:Module (NoMethodError)
    from /var/lib/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval'
    from /var/lib/gems/1.9.1/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize'
    from /home/user/public_html/testapp/config.ru:1:in `new'
    from /home/user/public_html/testapp/config.ru:1:in `<main>'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/rack/adapter/loader.rb:36:in `eval'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/rack/adapter/loader.rb:36:in `load'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/controllers/controller.rb:175:in `load_rackup_config'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/controllers/controller.rb:65:in `start'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:177:in `run_command'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:143:in `run!'
    from /var/lib/gems/1.9.1/gems/thin-1.2.7/bin/thin:6:in `<top (required)>'
    from /usr/bin/thin:19:in `load'
    from /usr/bin/thin:19:in `<main>'

我可以发布我的config.yml,config.ru和myapp.rb,我的Sinatra代码所在的位置(它基本上是从Sinatra书顶部翻录的示例代码),如果有人需要看到它,但是如果你对基于该日志本身发生的事情有任何想法,我很感激,因为我在全世界的Google上找不到任何东西。

此外,这仍然是在瘦身上运行Sinatra的首选方式吗?

我可以通过Ruby本身运行应用程序:

$ ruby myapp.rb 
  == Sinatra/1.0 has taken the stage on 4567 for development with backup from Thin

这允许我在沙箱中查看我的页面。

谢谢大家。

1 个答案:

答案 0 :(得分:2)

如果您遇到问题并且想知道它是否与1.8 vs 1.9相关,请检查以下网站:

http://isitruby19.com/thin