рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рддреАрд╡реНрд░ рддреИрдирд╛рддреА

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

рд╕рдорд╕реНрдпрд╛

рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред
рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдПрдХ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдХреА рддрд░рд╣ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдореИрдХ рдХреЗ рддрд╣рдд рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИред рдбреНрд░реБрдкрд▓ рдФрд░ рд░реЗрд▓ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд╛рд░рдХреАрдп рдорд┐рд╢реНрд░рдгред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗрд╡рд▓ рд░реЗрд▓реЛрдВ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИред рдФрд░ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдкреЙрдкрдк рдХреЗ рддрд╣рдд рджреЛрд╕реНрдд рдмрдирд╛рдирд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рдерд╛, рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд░рд┐рд╖реНрдХреГрдд рдирд╣реАрдВ рд╣реИрдВред рдЙрдиреНрд╣реЛрдВрдиреЗ ubuntu рдпрд╛ рдЕрдиреНрдп рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛ред

рдирд┐рд░реНрдгрдп


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

host:~$ git clone https://github.com/rails/rails-dev-box.git host:~$ cd rails-dev-box host:~$ vagrant up 

рд╡рд╣ рд╕рдм рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП ubuntu рдореЗрдВ ssh рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 vagrant ssh Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686) ... vagrant@rails-dev-box:~$ 

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

Php рдФрд░ nginx рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред

рд╣рдореЗрдВ рдмрд╕ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд░реЗрд▓-рдбреЗ-рдмреЙрдХреНрд╕ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпреЛрдирд┐ рд╕реЗ рдиреАрдЪреЗ рд░реЗрд▓ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛:

 vagrant ssh cd /vagrant/my_project bundle exec unicorn -E development -D 

рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреА рддрд░рд╣ localhost:3000
Php рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрднреА рднреА рдкреЛрд░реНрдЯ 1080 (рдкреЛрд░реНрдЯ 80 рдЬрд┐рд╕реЗ рд╣рдо рдирд╣реАрдВ рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рддрдм рд╣рдореЗрдВ рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)
рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЖрдкрдХреЛ Vagrantfile рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 config.vm.forward_port 80, 1080 

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

 VirtualBox Shared Folders: 5m 14s Host File System: 10s Native VM File System: 13s NFS Shared Folders: 22s NFS Shared Folders (warm cache): 14s 

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

 config.vm.share_folder "v-root", "/home/vagrant/shared-folder", ".", :nfs => true config.vm.network :hostonly, "33.33.33.100" 

рд╣реЛрд╕реНрдЯ-рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд╕рд░рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреЗрдкреНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ nfs рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдЕрдм рдЖрдкрдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА /home/vagrant/shared-folder

рд╣рдо рдЧреЗрдВрдбрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдм рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреГрд╖реНрда рдЙрдЪрд┐рдд рдЧрддрд┐ рд╕реЗ рд▓реЛрдб рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА

рд╡рд░реНрдЪреБрдЕрд▓ рдмреЙрдХреНрд╕ рдФрд░ рд╡реИрдЧреНрд░рдВрдЯ рдХрд╛ рдмрдВрдбрд▓ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реНрдпрдВрдЬрдиреЛрдВ (рдХрдардкреБрддрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛ рд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде nginx / apache, php, рдЧреЗрдВрдбрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рд╕реБрдЦрдж рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕рдВрджрд░реНрдн

рд░реЗрд▓-рджреЗрд╡-рдмреЙрдХреНрд╕ рдЬреАрдердм рд╕реНрд░реЛрдд рдХреЛрдб
рд╡реИрдЧреНрд░рдВрдЯ рдФрд░ рдПрдирдПрдлрдПрд╕ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░

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


All Articles