西纳特拉上乘客下架子返回0字节的页
题
我想写一个西纳特拉应用程序,将共享客运服务器上运行。现在,我很高兴刚开的“Hello World”的事,但工作不完全正确。我有:
config.ru
require 'vendor/sinatra-lib/sinatra.rb'
set :environment, :production
disable :run
require 'myapp.rb'
run Sinatra::Application
myapp.rb
get '/' do
"Hello world!"
end
和当然所有支持库我需要屈正在/供应商/屈-LIB。我可以在我的本地机器上rackup这个确切的负荷,以及运行如飞。然而,在远程机器上,我得到了我尝试访问任何URL 0字节的响应。请注意,我有一个/ public目录,我可以成功地查看网页了这一点,所以我猜架仍在运行。另外,我可以运行而没有任何问题的基本机架的应用程序,所以机架必须正确地设置(至少,正确地运行机架应用)。
在这一点上,我能想到的唯一的事情就是检查机架等的版本,在远程服务器上。我没有完全控制箱,所以我真的没有日志输出份额。我可以尝试去追逐它,如果它是重要的,但我希望事情会在有人跳出来。
解决方案 2
感谢大家的演奏,原来是一个依赖问题 - 我是部署服务器正在运行一个版本机柜的年纪太大支持西纳特拉。好其他的东西很多思考,虽然。
其他提示
我认为问题在于,其他西纳特拉文件是不是在负载DIR。尝试vendor/sinatra-lib
重命名为vendor/sinatra
,如果仍然不工作,尝试添加该在你config.ru
的顶部,在require 'vendor/...'
代替
$: << 'vendor/sinatra'
require 'sinatra'
一个小侧面说明:你是不是需要通过文件扩展名(.RB)到require
,所以你可以做的,而不是require 'myapp'
require 'myapp.rb'
不隶属于 StackOverflow