我跟随the instruction做
gem install puma
puma
但是它无法启动Web服务器,并且应该寻找config.ru
。 Puma是否必须与Rack and Rails一起使用? Puma可以作为独立的Web服务器运行吗?
答案 0 :(得分:1)
是否可以在没有机架的情况下将Puma作为Web服务器运行?
否。
像Thin和Unicorn这样的PUMA是机架式服务器。 Rack实际上只是一个基本的通用网关接口,除非您想build a server from scratch out of curiosity,否则我真的看不到为什么不使用Rack就想在Ruby中构建任何类型的Web应用程序。
构建basic hello world app with rack很简单:
# config.ru
run ->(env) { [200, {"Content-Type" => "text/html"}, ["Hello World!"]] }
Puma必须和Rack and Rails一起使用吗?
对于我所知道的任何Rack服务器,Rails都不是必需的。
答案 1 :(得分:1)
是的。有点。
如果您想知道,您不必安装机架 gem。但也许这是因为 Puma 包含它自己的机架构建器/处理程序。
https://medium.com/@lfv89/rackless-ruby-servers-why-not-a9f8430067dd
这是实际的代码片段:
/puma-5.1.1/lib/puma/configuration.rb:328
begin
require 'rack'
require 'rack/builder'
rescue LoadError
# ok, use builtin version
return Puma::Rack::Builder
else
return ::Rack::Builder
end