我是一个新人,试图用 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 书籍顶部撕下的示例代码),如果有人需要查看它,但如果你有任何想法关于基于该日志本身发生的事情,我将不胜感激,因为我在全球谷歌上找不到任何东西。
此外,这仍然是运行 Sinatra 的首选方式吗?
我可以让应用程序通过 Ruby 本身运行它:
$ ruby myapp.rb
== Sinatra/1.0 has taken the stage on 4567 for development with backup from Thin
这使我可以在我的沙箱中查看我的页面。
谢谢你们。