рдХрд╛рдЙрдмреЙрдп: рдХрд╛рдЙрдмреЙрдп рдХрд╛ рдкреНрд░рджрд░реНрд╢рди, рдПрд░реНрд▓рд╛рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╡реЗрдм рд╕рд░реНрд╡рд░

рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?


рд▓рдЧрднрдЧ рд╣рд░ 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

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In187844/


All Articles