我有一个在 Thin 上运行的非常基本的 ruby 示例,但我想知道如何将此示例转换为使用 Unicorn 或 Puma 作为 HTTP 服务器。这是我现在的代码:
require 'rack'
class HelloWorld
def talk()
return "Hello World!"
end
end
class SomeServer
def start(server_object, port)
app = proc do |env|
[ 200, {"Content-Type" => "text/html"}, [server_object.talk()] ]
end
Rack::Handler::Thin::run(app, :Port => port)
end
end
SomeServer.new.start(HelloWorld.new, 3000)
这运行得很好,但我不知道如何使用 Puma 或 Unicorn 来运行它。我找到的关于这两者的大多数在线文档都是针对 Rails 应用程序的。我如何通过这个简单的程序利用这些服务器的多线程功能?
最佳答案
使用 sinatra 。
所以要逐步安装 sinatra 和 puma gems
gem install sinatra
gem install puma
然后创建一个文件myapp.rb
require 'sinatra'
configure { set :server, :puma }
get '/' do
"Hello World!"
end
然后运行文件
ruby myapp.rb
默认情况下 sinatra 监听 4567 所以去 localhost:4567 您可以配置 puma 以监听特定端口或使用配置文件做很多其他事情阅读 documentation
关于ruby - 如何使用 Puma 或 Unicorn 启动一个最小的 ruby 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22849809/