我是一个试图让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
这允许我在沙箱中查看我的页面。
谢谢大家。