Sinatra使用的是薄而不是Puma



我正在构建一个需要螺纹的Sinatra应用程序,因为我正在使用Sucker-Punch作为工作从来没有使用过。

出于某种原因,当我启动应用程序时,它会运行薄。

我卸载了稀薄的薄薄,它使用了puma,哪个很好,但是我如何阻止它在以后的情况下又开始稀薄?

我使用rackup启动我的应用程序,并且在我的主应用程序中有:

class App < ::Sinatra::Base
  configure  do
    set :show_exceptions, true
    set :root, Info[:root]
    set :threaded, true
    set :server, :puma
    Tilt.register Tilt::ERBTemplate, 'html.erb'
    enable :logging
    use Rack::CommonLogger, Log.file
    if ENV['APP_ENVIRONMENT'] == 'PROD'
      set :environment, :production
      set :bind, '0.0.0.0', HOST
      set :show_exceptions, false
    end
  end
end

您需要在config.ru架构文件中设置服务器。在此文件中,您可以设置

Rack::Handler.get('puma').run App.new

文档可在"模块:rack :: handler"中找到。

但是,更好的方法是明确地运行puma:

bundle exec puma config.ru

或@matt建议:

rackup -s puma

只需使用bundle exec运行它。这可以确保可用的宝石仅在您的Gemfile上指定的宝石。

所以,即使您安装了薄,但是您的gemfile上有puma,它也会选择puma。

最新更新