рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд┐рдирд╛рддреНрд░рд╛ рдРрдк рдЪрд▓рд╛рдпрд╛, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ CTRL+C рджрдмрд╛рдирд╛ рд╣реЛрдЧрд╛ред
== рд╕рд┐рдирд╛рддреНрд░рд╛/1.0.b рдиреЗ рдерд┐рди рд╕реЗ рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП 4567 рдкрд░ рдордВрдЪ рд▓рд┐рдпрд╛ рд╣реИ >> рдкрддрд▓рд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ (v1.2.7 рдХреЛрдбрдирд╛рдо No Hup) >> рдЕрдзрд┐рдХрддрдо рдХрдиреЗрдХреНрд╢рди 1024 . рдкрд░ рд╕реЗрдЯ рд╣реИ >> 0.0.0.0:4567 рдХреЛ рд╕реБрдирдирд╛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CTRL+C ^рд╕реА>> рд╕реНрдЯреЙрдкрд┐рдВрдЧ ... == рд╕рд┐рдирд╛рддреНрд░рд╛ рдиреЗ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ (рднреАрдбрд╝ рддрд╛рд▓рд┐рдпрд╛рдБ) == рд╕рд┐рдирд╛рддреНрд░рд╛/1.0.рдмреА рдиреЗ рдерд┐рди рд╕реЗ рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП 4567 рдкрд░ рдордВрдЪ рд▓рд┐рдпрд╛ рд╣реИ >> рдкрддрд▓рд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ (v1.2.7 рдХреЛрдбрдирд╛рдо No Hup) >> рдЕрдзрд┐рдХрддрдо рдХрдиреЗрдХреНрд╢рди 1024 . рдкрд░ рд╕реЗрдЯ рд╣реИ >> 0.0.0.0:4567 рдкрд░ рд╕реБрдирдирд╛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CTRL+C ^рд╕реА>> рд╕реНрдЯреЙрдкрд┐рдВрдЧ ... == рд╕рд┐рдирд╛рддреНрд░рд╛ рдиреЗ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ (рднреАрдбрд╝ рддрд╛рд▓рд┐рдпрд╛рдБ)
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдБ:
рдЙрдмрдВрдЯреВ 9.10 (рдХрд░реНрдо)
рдорд╛рдгрд┐рдХреНрдп 1.3.6
рд░реВрдмреА 1.9.1p376 (2009-12-07 рд╕рдВрд╢реЛрдзрди 26041) [i486-linux]
рд╕рд┐рдирд╛рддреНрд░рд╛ 1.0.рдмреА
рдкрддрд▓рд╛ 1.2.7
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, config.ru рдореЗрдВ Application.run
рд╕рд╛рде рдХреНрд▓рд╛рд╕ рд╕реНрдЯрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕рд┐рдЧрд╡рд┐рди рдХреЗ рддрд╣рдд рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдВрдмрдВрдз рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╣реИ рдХрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреА рд░реИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реАред рдореИрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ:
yourapp.rb
рдХреНрд▓рд╛рд╕ рдРрдк < рд╕рд┐рдирд╛рддреНрд░рд╛: рдмреЗрд╕
рдХреНрдпрд╛..
рд╕рдорд╛рдкреНрдд
config.ru
'рд░реВрдмреАрдЬреЗрдореНрд╕' рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
'yourapp.rb' рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдРрдк рдЪрд▓рд╛рдПрдВ
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдЕрдкрдиреЗ рд╢реЗрд▓ рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реЗ рдРрдк рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
rackup -s thin config.ru
рдореИрдВ 1.0 рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ рдЕрдЧрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж
рдореБрдЭреЗ рдпрд╣ рдореБрджреНрджрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдЗрд╕ рддрдХ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
require 'sinatra'
class MyServer < Sinatra::Base
get '/test' do
'Hello world!'
end
run! if app_file == $0
end
рдореИрдВ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ ruby my_server.rb
рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдореИрдВ run
рд▓рд╛рдЗрди рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╢рдЯрдбрд╛рдЙрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ctrl+c рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
[28/рдордИ/2016:20:37:15 +0100] "рдкреНрд░рд╛рдкреНрдд/рдкрд░реАрдХреНрд╖рдг HTTP/1.1" 404 466 0.0005
рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЖрдпрд╛рддрд┐рдд рд╣реИ sinatra
, рдХреЗ рдмрдЬрд╛рдп sinatra/base
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЖрдпрд╛рддрд┐рдд рд╣реИ
sinatra
, рдХреЗ рдмрдЬрд╛рдпsinatra/base