Sinatra: рд╕рд┐рдирд╛рддреНрд░рд╛ рдХреЛ рд╢рдЯрдбрд╛рдЙрди рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ CTRL+C рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдорд╛рд░реНрдЪ 2010  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sinatra/sinatra

рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд┐рдирд╛рддреНрд░рд╛ рдРрдк рдЪрд▓рд╛рдпрд╛, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ 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

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЖрдпрд╛рддрд┐рдд рд╣реИ sinatra , рдХреЗ рдмрдЬрд╛рдп sinatra/base

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 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

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Harishkris picture Harishkris  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

namusyaka picture namusyaka  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mediafinger picture mediafinger  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Joshfindit picture Joshfindit  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AvailCat picture AvailCat  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ