我有一个西纳特拉应用程序和打包的作为宝石 。 它的文件布局看起来大致是这样的:
├── bin
│ └── tubemp
├── lib
│ └── tubemp.rb
├── Gemfile
└── tubemp.gemspec
我可以安装并运行它只是罚款。 调用ruby lib/tubemp.rb
触发应用程序也是如此,因为西纳特拉使其自启动。 tubemp.rb
:
class Tubemp < Sinatra::Application
get '/' do
erb :index, :locals => { :title => "YouTube embeds without third party trackers." }
end
end
二进制是真的很简单。 bin/tubemp
:
#!/usr/bin/env ruby
require "tubemp.rb"
Tubemp.run!
但现在我想部署此作为机架应用。 或机架式应用中部署它。 至少它应该用于生产的机器上的乘客下运行。
随着通用应用程序它是添加一个简单config.ru
在申请住在一个目录。 这个文件的话,大致包括和调用run Tubemp
。 nginx的指点或Apache的在dir其中该rackup文件和应用程序的生命,开始它的乘客。 这个工作,到那里我做了一个宝石的地步; 因为现在我不再有“的目录中的应用程序生命”,另又在哪里gem install tubemp
决定放置文件。
我需要创建一个wrapper
应用至极捆绑tubemp宝石和它的依赖? 如果是这样,我怎么叫从宝石rackup
文件? 或者,我要在这完全错了吗?