我有一个尝试使用 jRuby 运行的 Sinatra“hello world”应用程序。它在我运行应用程序时有效,但在我运行 rackup 时无效。谁能告诉我这里发生了什么?
这是应用程序,在文件“app.rb”中:
require 'rubygems'
require 'bundler/setup'
require 'sinatra'
configure do
set :bind, '0.0.0.0'
end
get '/' do
'Boo!'
end
我可以使用它运行bundle exec ruby app.rb
它,它工作正常:
jonea@centos7andy[~/andy/sinatra_sand_jruby]%: bundle exec ruby app.rb
[2015-01-12 10:36:06] INFO WEBrick 1.3.1
[2015-01-12 10:36:06] INFO ruby 1.9.3 (2014-12-09) [java]
== Sinatra/1.4.5 has taken the stage on 4567 for development with backup from WEBrick
[2015-01-12 10:36:06] INFO WEBrick::HTTPServer#start: pid=31654 port=4567
这是我调用上述程序的 config.ru:
require 'rubygems'
require 'bundler/setup'
require 'sinatra'
require './app'
run Sinatra::Application
如果我运行它,它似乎可以工作,但我无法使用 Web 浏览器访问服务器:
jonea@centos7andy[~/andy/sinatra_sand_jruby]%: bundle exec rackup -p4567
[2015-01-12 10:29:06] INFO WEBrick 1.3.1
[2015-01-12 10:29:06] INFO ruby 1.9.3 (2014-12-09) [java]
[2015-01-12 10:29:06] INFO WEBrick::HTTPServer#start: pid=31553 port=4567
我注意到“Sinatra 已经上台……”的可疑缺乏