Команда «gem install puma» используется для установки драгоценного камня Puma, популярного веб-сервера для приложений Ruby. Вот несколько методов, связанных с Puma, а также примеры кода:
-
Базовая настройка сервера Puma:
require 'puma' app = ->(env) { [200, { 'Content-Type' => 'text/plain' }, ['Hello, Puma!']] } Puma::Server.new(app).tap do |server| server.add_tcp_listener('localhost', 3000) end.run.joinЭтот код настраивает базовый сервер Puma, который прослушивает
localhost:3000и отвечает «Привет, Puma!» для каждого запроса. -
Настройка Puma с помощью файла конфигурации:
Создайтеconfig/puma.rbenvironment 'production' threads 4, 16 workers 2 bind 'tcp://0.0.0.0:3000'Этот файл конфигурации устанавливает рабочую среду, определяет количество потоков и рабочих процессов и обязывает сервер прослушивать все интерфейсы на порту 3000.
-
Puma как погрузчик для стоек:
require 'puma' require 'rack' app = Rack::Builder.new do run ->(env) { [200, { 'Content-Type' => 'text/plain' }, ['Hello, Puma Rack Handler!']] } end Rack::Handler::Puma.run(app, Port: 3000)Этот код демонстрирует использование Puma в качестве обработчика Rack для обслуживания приложения Rack. Он отвечает: «Привет, Puma Rack Handler!» для каждого запроса.
-
Режим кластера Puma:
require 'puma' require 'rack' app = Rack::Builder.new do run ->(env) { [200, { 'Content-Type' => 'text/plain' }, ['Hello, Puma Cluster!']] } end Puma::Cluster.new(app).tap do |cluster| cluster.workers 2 end.run.joinВ этом примере показано, как запустить Puma в режиме кластера с двумя рабочими процессами. Каждый рабочий процесс будет обрабатывать входящие запросы независимо.