Попытка узнать, как запустить приложение Ruby (Sinatra) на веб-сервере Ebb.

StackOverflow https://stackoverflow.com/questions/984507

  •  13-09-2019
  •  | 
  •  

Вопрос

Мне нужно написать сверхбыстрое Ruby-приложение для обработки веб-запросов на Sinatra, и я хочу запустить его на Веб-сервер Эбб.Но я не могу понять, как это сделать.Может ли кто-нибудь помочь мне?

Это было полезно?

Решение

Вам нужно посмотреть на стойку: http://rack.rubyforge.org/На самом деле это довольно просто: у вас есть файл .ru, который указывает Rack, как запустить ваше приложение, и в вашем приложении есть метод «вызова», который вызывается при каждом запросе и отправляет ответ обратно в Rack.

На сайте my_app.ru

require 'my_app'
require 'ebb'

# Rack config
use Rack::Static, urls: ['/js', '/public', '/index.html']
use Rack::ShowExceptions

# Run application
run MyApp.new

В my_app.rb

class MyApp
 def call env
    request  = Rack::Request.new env
    response = Rack::Response.new
    params = request.params

    response.body = "Hello World"
    response['Content-Length'] = response.body.size.to_s
    response.finish
  end
end

Затем вы указываете файл .ru в конфигурации Sinatra, например:

rackup: my_app.ru

Другие советы

у sinatra есть опция -s для указания обработчика.попробуйте запустить приложение с -s ebb.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top