VPS рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЦреБрдж рдХреЗ Node.js

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ Node.js рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рдХрдИ рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореМрдЬреВрджрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдРрдкрдлреЙрдЧ рдФрд░ рд╣рд░реЛрдХреВ рдореЗрдВ рдореБрдлреНрдд рдЦрд╛рддреЛрдВ рдкрд░ рдХрдИ рдЧрдВрднреАрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВред Appfog рдкрд░, рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 2 рд╕реЗ рдЕрдзрд┐рдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдирд┐: рд╢реБрд▓реНрдХ рдкрдВрдЬреАрдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдХреНрд╖рдо рд╣реИред рд╣рд░реЛрдХреВ рдкрд░, рдЖрдк рдмрд┐рдирд╛ рдмреИрдВрдХ рдХрд╛рд░реНрдб рд▓рд┐рдВрдХ рдХрд┐рдП рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЗрд╡рд▓ 5 рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд┐рдирд╛) рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдЦрд╛рддреЗ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рдВрдЧреЗ рд╣реИрдВ (рдореИрдВ рдЗрди рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдкреИрд╕рд╛ рдирд╣реАрдВ рдХрдорд╛рддрд╛): Appfog рдкрд░ $ 20 рдбреЙрд▓рд░, рдФрд░ рд╣рд░реЛрдХреВ рдФрд░ рднреА рдорд╣рдВрдЧрд╛ рд╣реИред рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдиреЗ рдбрд┐рдЬрд┐рдЯрд▓ рдорд╣рд╛рд╕рд╛рдЧрд░ рдкрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА - рдкреНрд░рддрд┐ рдорд╛рд╣ $ 5 рдбреЙрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреЗрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ред



рдЗрд╕ рддрд░рд╣ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдк рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ рджреМрд░рд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рджреЗрдЦреЗрдВред



рдПрдХ VPS рдмрдирд╛рдПрдБ



1. DigitalOcean рдкрд░ рдкрдВрдЬреАрдХрд░рдг


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, DigitalOcean рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рд╣рдо рдПрдХ VPS - рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдЦрд░реАрджреЗрдВрдЧреЗред рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдФрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмрдбрд╝реЗ рд╣рд░реЗ "рдХреНрд░рд┐рдПрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣рдореЗрдВ $ 5 рдбреЙрд▓рд░ рдЬрдорд╛ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдкреГрд╖реНрда рдкрд░ рдиреАрдЪреЗ рдПрдХ рдЦреБрд╢ $ 10 рдХреВрдкрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рд╣реИ, OMGSSD10



рджрд░реНрдЬ OMGSSD10



рдпрд╛ рдПрдХ рдирдП рдХреВрдкрди рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред рдЪреВрдБрдХрд┐ рдореЗрд░рд╛ рдмреИрдВрдХ рдХрд╛рд░реНрдб рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рдкреЗрдкрд╛рд▓ рдХреЗ рд╕рд╛рде рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рдЦрд╛рддреЗ рдореЗрдВ $ 15 рдереЗред рдпрд╣ 3 рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



2. рдПрдХ SSH рдХреБрдВрдЬреА рдмрдирд╛рдПрдБ


рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЖрдорддреМрд░ рдкрд░ ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдПрдХ рдРрд╕реА рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рддрдХрдиреАрдХ рд╣реИред рдЖрдк рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ VPS рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛ SSH рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЖрдкрдХреЛ рд╣рд░ рд╕рдордп рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, SSH рдХреБрдВрдЬреА рдХреЛ рддрдм рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрдм рд╣рдорд╛рд░реЗ рдирдП "рдЫреЛрдЯреА рдмреВрдВрдж" (DigitalOcean рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХреЛ "рдЫреЛрдЯреА рдмреВрдВрдж" рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ)ред



Ssh рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдХрдорд╛рдВрдбреНрд╕ рдЪрд▓рд╛рдПрдБ:

 $ cd ~/.ssh $ ssh-keygen -t rsa -C "email@example.com"
      
      





рдФрд░ рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдХреБрдВрдЬреА рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ id_rsa_digitalocean_dropletname



рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ id_rsa_digitalocean_dropletname



, рдЬрд╣рд╛рдВ рдЫреЛрдЯреА рдмреВрдВрдж рдХрд╛ рдирд╛рдо рдпрд╛ рддреЛ рдЙрд╕ рдбреЛрдореЗрди рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ id_rsa_digitalocean_dropletname



, рдпрд╛ рд╕рд┐рд░реНрдл рдХреБрдЫ рд╕рд╛рд░реНрдердХ рдирд╛рдоред Paraphrase рдХреЛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд░реЗрдЧрд╛ред



рдЙрд╕рдХреЗ рдмрд╛рдж, рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА: ssh-key рдФрд░ public-keyред рдлреИрд╢рдиреЗрдмрд▓ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ:

 $ cat ~/.ssh/id_rsa_digitalocean_dropletname.pub | pbcopy
      
      





рдЕрдм SSH- рдХреАрдЬрд╝ рд╕реЗрдХреНрд╢рди рдореЗрдВ digitaloceans рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рд╡рд╣рд╛рдБ рдПрдХ рдирдИ рдХреБрдВрдЬреА рдмрдирд╛рдПрдБ, рдЗрд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдЪрд┐рдкрдХрд╛рдПрдБред



3. рдПрдХ рдЫреЛрдЯреА рдмреВрдВрдж рдмрдирд╛рдПрдБ


рдЕрдм рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдЦрд░реАрджрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдмрдбрд╝реЗ рд╣рд░реЗ "рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░реЗрдВ:



"рдХреНрд░реЙрдк рдбреНрд░реЙрдлреНрдЯ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ 2-10 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдирддреАрдЬрддрди, рд╣рдо рдЫреЛрдЯреА рдмреВрдВрдж рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рджреЗрдЦреЗрдВрдЧреЗ, рдФрд░ рдЗрд╕рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред



Ubuntu 14.04 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЪрдпрдирд┐рдд рдЫрд╡рд┐ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ: рдбреЛрдХреВред рдпрд╣ Heroku рдХреЗ рд╕рдорд╛рди рдиреЛрдб.рдЬреЗрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд Dokku рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ Node.js. рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ



4. Droplet рдФрд░ DNS рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рдЕрдм рдЖрдкрдХреЛ рдирд╡ рдирд┐рд░реНрдорд┐рдд рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдкреЗрдЬ рдирд╣реАрдВ рд╣реИ, рддреЛ рджреЗрдЦреЗрдВ рдХрд┐ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред

Droplet setup page

рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ "рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА" рдлрд╝реАрд▓реНрдб рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЕрдкрдиреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рдирдИ рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ рдХреБрдВрдЬреА рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЫреЛрдЯреА рдмреВрдВрдж рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдХреБрдВрдЬреА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред



рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣реИ, "рдлрд┐рдирд┐рд╢ рд╕реЗрдЯрдЕрдк" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдПрдВред рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛: "19.19.197.19-00-006667", рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рджреНрд╡рд╛рд░рд╛ред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рддрддреНрдХрд╛рд▓ рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдЦрд░реАрджреЗрдВред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдмрд╛рдж рдореЗрдВ рдбреЛрдореЗрди рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реВрдВрдЧрд╛ред



рдпрджрд┐ рдЖрдк рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдк-рдбреЛрдореЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЛрдореЗрди рдирд╛рдо mydomain.com



, рддреЛ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди app.mydomain.com



рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдореБрдЦреНрдп рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЛ рдмрд╛рдВрдзрдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред



Hostname рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЕрдкрдирд╛ рдбреЛрдореЗрди рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ "рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдирд╛рдордХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рдмреЙрдХреНрд╕ рдЪреЗрдХ рдХрд░реЗрдВред рдЕрдм рдЕрдкрдиреЗ рдбреЛрдореЗрди рдирд╛рдо рдХреЗ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рджреЛ рдирдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд░реНрдЬ рдХрд░реЗрдВ:

apps.mydomain.comред рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]

* .apps.mydomain.com рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]



рдпрд╛ рддреЛ:

mydomain.comред рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]

* .mydomain.com рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]



рдЕрдкрдиреЗ рдбреЛрдореЗрди рдирд╛рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдпрд╛ рдбреЛрдореЗрди рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рд╕рдЯреАрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред



рдЕрдм рдЫреЛрдЯреА рдмреВрдВрдж рд╕реЗрдЯрдЕрдк рдкреЗрдЬ рдкрд░ рд▓реМрдЯреЗрдВ рдФрд░ "рдлрд┐рдирд┐рд╢ рд╕реЗрдЯрдЕрдк" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



5. SSH рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдирдП рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред SSH рдХреБрдВрдЬреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫреЛрдЯреА рдмреВрдВрдж рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдФрд░ рдЫреЛрдЯреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ ssh рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ:

 $ cd ~/.ssh/
      
      





рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░" рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ (рдЪреЗрдХ - $ ls



), рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $ touch config
      
      





рдЕрдм рдЦреБрд▓рд╛ ( $ open config



) $ open config



рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВ:

 рдЕрдкрдиреЗред DROPLET.IP.ADDRESS рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ
     IdentityFile ~ / .sh / id_rsa_digitalocean_dropletname


рдЬрд╣рд╛рдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ IP рдкрддрд╛ рдпрд╛ рдбреЛрдореЗрди рдирд╛рдо рд╣реИ, рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕ рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ ssh рдХреБрдВрдЬреА рдХрд╛ рдирд╛рдо рд╣реИред



рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

 $ ssh root@YOUR.DROPLET.IP.ADDRESS
      
      





рдЬрд╣рд╛рдВ "@" рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдбреЛрдореЗрди рдирд╛рдо рдпрд╛ рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдпрджрд┐ рдЖрдк SSH рдХреБрдВрдЬреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдЪреВрдХ рдЧрдП рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдореЗрд▓ рдкрд░ рдЖрдП рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

 $ ssh root@YOUR.DROPLET.IP.ADDRESS
      
      





рдФрд░ рдХрдиреЗрдХреНрд╢рди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд╕рд╡рд╛рд▓ рдкрд░, "рд╣рд╛рдВ" рд▓рд┐рдЦреЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж рдкрд╛рд╕рд╡рд░реНрдб рдбрд╛рд▓реЗрдВред



рдпрджрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рд╛рдЧрдд рд╕реНрдХреНрд░реАрди рдХреЛ рджреЗрдЦрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред exit



рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред



рддреИрдирд╛рддреА рдХрд╛ рдЖрд╡реЗрджрди



рд╕рд░реНрд╡рд░ рддреИрдпрд╛рд░ рд╣реИ, рдЕрдм рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдмрд╛рд░реА рд╣реИред



1. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ


рд╣реЗрд▓реЛ, рджреБрдирд┐рдпрд╛ , рдмрд┐рдирд╛ рдореЛрдВрдЧреЛрдбрдм рдФрд░ рдмрд╛рдХреА рд╕рдм рдЬреИрд╕реЗ рдПрдХ рд╕рд░рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЗрдВред рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ: "package.json", "Procfile" рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ "app.ss"ред Package.json рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

 { "name": "dokku-demo-application", "version": "1.0.0", "engines": { "node": ">=0.10.*", "npm": ">=1.3" }, "dependencies": { "express": "~3.0" } }
      
      





Dokku рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ package.json



рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдПрдХ Procfile



рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╡реЗрдм: рдиреЛрдб server.js


рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ (рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рдерд╛), рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХрдорд┐рдЯ рдХрд░реЗрдВ:

 $ git init && git add -A && git commit -m "Initial commit"
      
      





рдЕрдм рд╣рдорд╛рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред



2. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рднрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдВ


рд╣рдо git push



рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рджреВрд░рд╕реНрде рднрдВрдбрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдбрд╝реА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

 $ git remote add dokku dokku@mydomain.com:application_name
      
      





рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдерд╛, рддреЛ рд╣рдо рдЗрд╕реЗ "dokku @" рдХреЗ рдмрд╛рдж рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрд╡реЗрджрди рдХреЗ рдирд╛рдо рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЙрдХреНрдпреВ рдХреЗ рдЕрдВрджрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдЕрдм push



рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:

 $ git push dokku master
      
      





рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд╛рдкрдирд╛ред рдЕрдВрдд рдореЗрдВ, рдПрдХ рдпреВрдЖрд░рдПрд▓ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдбреЙрдХреНрдпреВ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлреЙрд░реНрдо 192.88.67.168 : 46567 рдпрд╛ app1.mydomain.com рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред



рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдирд╣реАрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рд▓рд┐рдП ssh рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рджреЛ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

 $ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js
      
      





рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рд▓рд┐рдВрдХ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдирдиреНрджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ!



рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рд╕рдорд╛рдзрд╛рди



рдореИрдВрдиреЗ рдЦреБрдж рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдПрдХ рджрд┐рди рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЗрд╕ рддрд░рд╣ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдХреБрдЫ рд╢рдВрдХреБрдУрдВ рдХреЛ рднрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕рдордп рдмрдЪрд╛ рд╕рдХреЗрдВ, рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред



1. рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдмреИрдВрдХ рдХрд╛рд░реНрдб рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛


рд╡реЗ рд╣рд╛рдВ рд╣реИрдВред рд╡реЗ рд╡реАрдЬрд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рдХреА рддрд░рд╣ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдкреЗрдкреИрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреБрдЧрддрд╛рди рдХрд░реЗрдВ, рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред



2. рдПрдХ рдЫреЛрдЯреА рдмреВрдВрдж рдмрдирд╛рдИ рдЧрдИ, рд▓реЗрдХрд┐рди рдЖрдИрдкреА рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдХреЛрдИ рдбреЙрдХреНрдпреВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреГрд╖реНрда рдирд╣реАрдВ рд╣реИ


рдЗрд╕рд▓рд┐рдП, DigitalOcean рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖред рдЖрдкрдХреЛ рдЫреЛрдЯреА рдмреВрдВрдж рдкреНрд░рдмрдВрдзрди рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдирд╖реНрдЯ / рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдЯреИрдм рдкрд░:



рдлрд┐рд░, рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж, dokku рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреГрд╖реНрда рдЖрдИрдкреА рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ DigitalOcean рд╕реЗ рдорджрдж рдорд╛рдВрдЧреЗрдВред



3. рдореИрдВ рдпрд╛ рддреЛ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛ SSH рджреНрд╡рд╛рд░рд╛ рдЫреЛрдЯреА рдмреВрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛


  1. рд╢рд╛рдпрдж рдЖрдкрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдбреЙрдХреНрдпреВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрджрдо рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдпрд╛ рдбреЙрдХрдХреА рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  2. рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдбреНрд░реЙрдкрдкреНрд▓реЙрдЯ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рджреНрд╡рд╛рд░рд╛ рдбреЙрдХреНрдпреВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреЗрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдлрд┐рд░ рд╡реАрдкреАрдПрд╕ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг 4 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред
  3. рдпрджрд┐ рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдкреГрд╖реНрда рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрджрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕рдлрд▓ рд╣реИ, рддреЛ рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдмрддрд╛рдИ рдЧрдИ рдЫреЛрдЯреА рдмреВрдВрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред




4. рдореИрдВ рдЫреЛрдЯреА рдмреВрдВрдж рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рдЬрд╛рдирддрд╛


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкрд╛рд╕рд╡рд░реНрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдбреНрд░реЙрдкрд▓реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдкреЗрдЬ, "рдПрдХреНрд╕реЗрд╕" рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдореЗрд▓ рдкрд░ рдЖрдПрдЧрд╛ред



5. рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рдкрд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ


рдпрджрд┐ dokku рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рд╣реА рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдерд┐рддрд┐ рд╕рдВрднрд╡ рд╣реИ рдпрджрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рдЫреЛрдЯреА рдмреВрдВрдж рдореЗрдВ ssh рдбрд╛рд▓реЗрдВ рдФрд░ рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

 $ dokku logs <app_name>
      
      





рд╢рд╛рдпрдж рддреНрд░реБрдЯрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧреАред рдпрд╛ рдЖрдк push'a рдХреЗ рдмрд╛рдж рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдирд╛ рднреВрд▓ рдЧрдП:

 $ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js
      
      







6. рдореИрдВрдиреЗ рдПрд╕рдПрд╕рдПрдЪ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореИрдВ рдПрд╕рдПрд╕рдПрдЪ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ


рдореИрдВрдиреЗ рдЫреЛрдЯреА рдмреВрдВрдж рдирд┐рд░реНрдорд╛рдг рдкреГрд╖реНрда рдкрд░ рдПрдХ ssh рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдирдИ рдЫреЛрдЯреА рдмреВрдВрдж рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди dokku рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреГрд╖реНрда рдкрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрднреА рднреА рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХреБрдЫ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА ssh рдХреБрдВрдЬреА, рдХреЗрд╡рд▓ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╢рд╛рдпрдж рддреНрд░реБрдЯрд┐ рддрдм рд╣реБрдИ рдЬрдм ssh рдХреБрдВрдЬреА рдХреЛ рдЫреЛрдЯреА рдмреВрдВрдж рдореЗрдВ рдХреЙрдкреА рдХрд░рдирд╛ред рдЧреВрдЧрд▓ред рдЪрд░рдо рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ, рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдПрдХ рдирдИ рдЫреЛрдЯреА рдмреВрдВрдж рдмрдирд╛рдПрдВред рдЦреЛрдЬ рдЙрджрд╛рд╣рд░рдг ред



7. рдПрдХ рдореМрдЬреВрджрд╛ рдЫреЛрдЯреА рдмреВрдВрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЛрдореЗрди рдирд╛рдо рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ


рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдХреБрдЫ рдХрджрдоред рдЕрдкрдиреЗ рдбреЛрдореЗрди рдирд╛рдо рдХреА DNS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

apps.mydomain.comред рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]

* .apps.mydomain.com рдПрдХ [рдЖрдИрдкреА рдЖрдИрдкреА рдкрддреЗ]



рдЫреЛрдЯреА рдмреВрдВрдж рдореЗрдВ, рдбреЙрдХреНрдпреВ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП HOSTNAME рдЦреЛрд▓реЗрдВ:

 $ cd /home/dokku/ $ vim HOSTNAME
      
      





"HOSTNAME" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ IP рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп "i" рдХреБрдВрдЬреА рджрдмрд╛рдПрдВ рдФрд░ рдбреЛрдореЗрди рдирд╛рдо рд▓рд┐рдЦреЗрдВ; рдлрд┐рд░ Esc



, рдмрдЯрди Esc



:wq



рдФрд░ Enter



ред рд╣реБрд░реНрд░реЗ! рд╣рдо рд╕рд┐рд░реНрдл рдорд╣рд╛рди рд╡рд┐рдо рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ!

рдЙрдк-рдбреЛрдореЗрди рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ VHOST



рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $ touch VHOST
      
      





рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЛрдореЗрди рдирд╛рдо рдЙрд╕реА рддрд░рд╣ рд▓рд┐рдЦреЗрдВ рдЬреИрд╕реЗ рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рд╣реИред рдЕрдиреНрдпрдерд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреАред рдЕрдм рдЖрдкрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рдбреЛрдХреВ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ:

 $ dokku delete app_name
      
      





рдирд╛рдо рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд░рд┐рдореЛрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

 $ git remote remove dokku
      
      





рдФрд░ рдкреБрд░рд╛рдиреЗ рдирд╛рдо рдХреЗ рддрд╣рдд рдПрдХ рдирдпрд╛ рд░рд┐рдореЛрдЯ рдЬреЛрдбрд╝реЗрдВ:

 $ git remote add dokku dokku@apps.mydomain.com:app_name
      
      





рдирдИ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ SSH рдХреБрдВрдЬреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдирдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ ~/.ssh/config



рдЬреЛрдбрд╝реЗ:

 рдЕрдкрдиреЗред DROPLET.IP.ADDRESS рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ
     IdentityFile ~ / .sh / id_rsa_digitalocean_dropletname


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ:

 $ git push dokku master
      
      







рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдЕрдм рдЙрдк-рдбреЛрдореЗрди рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреАред



рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж, рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рд╣реИ!



All Articles