рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?
рд▓рдЧрднрдЧ рд╣рд░ Erlang рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ? рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реЗ рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рд╣реИ рдЬреЛ рдХрд╛рдЙрдмреЙрдп рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ - рдХреЗрд╡рд▓ рдорд╛рд░реНрдЧ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдмрдВрджрд░рдЧрд╛рд╣ рдФрд░ рд╕реНрд╡реАрдХрд░реНрддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛, рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛, рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ? рдирд╣реАрдВ, рдпрд╣ рджреВрд╕рд░рд╛ рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдХрд╛рдЙрдмреЙрдп рдХреЛ рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рдЕрдкрдиреЗ рдЖрд╡реЗрджрди, рдХрд╛рдЙрдмреЙрдп рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЦреБрдж рдХрд╛рдЙрдмреЙрдп рдХреЛ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдо рддреМрд░ рдкрд░ред рд╣рдо рдХрд┐рд╕реА рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рди рд╣реА рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдмрд┐рд▓реНрд▓реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
cowboyd start myapp /path/to/myapp 8080
рдФрд░ рдЪрдорддреНрдХрд╛рд░рд┐рдХ рдврдВрдЧ рд╕реЗ, рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ 8080 рдмрдВрджрд░рдЧрд╛рд╣ рдкрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░реЛрдХрдирд╛ рдЙрддрдирд╛ рд╣реА рдЖрд╕рд╛рди рд╣реИ:
cowboyd stop myapp
рдЙрд╕реА рд╕рдордп, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рдЬрд┐рддрдиреЗ рдЪрд╛рд╣реЗрдВ рдЙрддрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛;)
рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
рдорд╛рд░реНрдЧреЛрдВ рдореЗрдВ
рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
редconfig рдлрд╝рд╛рдЗрд▓ред Erlang рд╕рд┐рдВрдЯреИрдХреНрд╕, рдмрд╕ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдирд┐рд░реНрдпрд╛рдд рдХрд╛рд░реНрдпреЛрдВ рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦреЗрдВред
рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЛ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЕрдЧрд▓рд╛ рд╕рд░рд▓ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:
cowboyd routes-update myapp
рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдб
рд╕рд┐рдВрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред
рддреЛ, рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рднрд╛рдЧ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдЕрдм рдореБрдЦреНрдп рдФрд░, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд╣рд┐рд╕реНрд╕рд╛ред
рд╕реНрдерд╛рдкрдирд╛
рдХрд╣реАрдВ рдШреВрдордиреЗ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рд╣рдо рдЪрд░рд╡рд╛рд╣реЗ рд░рдЦреЗрдВ
cd ~/github_projects
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
git clone https://github.com/chvanikoff/cowboyd
рд╣рдо рдЪрд░рд╡рд╛рд╣реЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ
chmod +x cowboyd/cowboyd
рд▓рд┐рдВрдХ рдЪрд░рд╡рд╛рд╣реЗ рдХреЛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд╣реАрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, / usr / bin рдореЗрдВ
sudo ln -s cowboyd/cowboyd /usr/bin/cowboyd
рдмрд╕, рдЕрдм рдЖрдк рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЯреЗрд╕реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ
cowboyd start webapp ~/github_projects/cowboyd/examples/webapp 8008
рдЖрд╡реЗрджрди рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣
http: // localhost: 8008 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ,
~ / github_projects / рдХрд╛рдЙрдмреЙрдп / рдЙрджрд╛рд╣рд░рдг / рд╡реЗрдмреИрдк / рдирд┐рдЬреА / рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рд╕реНрдереИрддрд┐рдХ рд╕реАрдПрд╕рдПрд╕ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП 404 рджреЗрдВред рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдЖрдкрдХреЗ рдЦреБрдж рдХреЗ рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдФрд░ рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдХрд╛рдЙрдмреЙрдп рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ;)
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд▓рд┐рдВрдХ:
github.com/chvanikoff/cowboydрдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред