Django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдпреБрджреНрдз рд╕рд░реНрд╡рд░: рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ 10.04 LTS + django 1.4 + nginx + gunicorn

рдХрдИ Django рд╡рд┐рдХрд╛рд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдбрд┐рдмрдЧ рд╕рд░реНрд╡рд░ (рдЕрдЬрдЧрд░ рдкреНрд░рдмрдВрдзрди рдерд┐рдВрдХрдкреИрдб рд░рдирд╕рд░рд╡рд░) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдореБрдХрд╛рдмрд▓рд╛ рдореЛрдб рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХреЛрдВ рд╕реЗ рдЕрдирд╕реБрд▓рдЭрд╛ рдпрд╛ рджреВрд░ рд░рд╣рддрд╛ рд╣реИред
рдиреАрдЪреЗ рдореИрдВ рдпреБрджреНрдз рдореЛрдб рдореЗрдВ Django рдкрд░ рдПрдХ рд╕рд╛рдЗрдЯ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЪреБрдирдиреЗ рд╕реЗ рд▓реЗрдХрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ Django рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рдореЗрд░реА рд╡рд┐рдзрд┐ рдХрдИ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓, рдХреБрд╢рд▓ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рд╣рдо VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, Ubuntu 10.04, nginx, gunicorn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред



рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛




рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛


рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
- myproject/ -  ,  ,      ; - env/ -  ,    virtualenv; - src/ -   ,      IDE,  ,     myproject  ; - myproject/ -   ,    Django-; - __init__.py - settings.py - manage.py - urls.py - myapp1/ - myapp2/ ... - static_content/ -   ,   -   (  - nginx),  ,    - ,   ; - static/ -    (    ); - media/ - media-,        ; - docs/ -    , ,  ; - logs/ - ,   ,   ; - pids/ -  pid-. 

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╕реНрд░реЛрдд рдХреА рдШреЛрдВрд╕рд▓реЗ рдХреА рдЧрд╣рд░рд╛рдИ рдЕрддреНрдпрдзрд┐рдХ рд▓рдЧ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЧрд╣рд░рд╛рдИ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдЫреЛрдЯреА рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдлрд╛рдпрджреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред

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


рд╣реЛрд╕реНрдЯрд┐рдВрдЧ


рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ django рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╣реИред рдХрдИ VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдореВрд▓реНрдп / рдЧреБрдгрд╡рддреНрддрд╛ рдЕрдиреБрдкрд╛рдд - FirstVDS рдореЗрдВ рд╕рдмрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкрд░ рдмрд╕ рдЧрдпрд╛ред рдореИрдВ рдкреНрд░рддрд┐ рдорд╛рд╣ 400 рд░реВрдмрд▓ рдХреЗ рд▓рд┐рдП рдЯреИрд░рд┐рдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ - 1500 рдПрдордмреА рд░реИрдо, 24000 рдПрдордмреА рдПрдЪрдбреАрдбреАред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдпрд╣ 150 рд░реВрдмрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрд░рд┐рдл рдХреА рд▓рд╛рдЧрдд рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рд┐рдЦрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛)ред
рдЗрд╕рд▓рд┐рдП, рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реАрдкреАрдПрд╕ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдФрд░ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдУрдкрдирд╡реАрдЬреЗрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЪреБрдирддреЗ рд╣реБрдП - рдПрдХ рднреМрддрд┐рдХ рдорд╢реАрди рдХрд╛ рдПрдХ рдЕрдзреВрд░рд╛ рд╕рд┐рдореБрд▓реЗрд╢рди, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЙрд╕реА рддрд░рд╣ рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреЗ рд╕рд╛рде рд╡реЗ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдореЗрдордХреЗрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ ред рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ Ubuntu рд╕рд░реНрд╡рд░ 10.04 LTS # рдЪреБрдирдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ 12.04 рдПрд▓рдЯреАрдПрд╕ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдХреЗ рдмрд┐рдирд╛ рдСрдкрд░реЗрд╢рди рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рдорд░реНрдерди рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЗрд╕реЗ рдпреБрджреНрдз рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

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


рдореЗрд▓ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдФрд░ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрд╕рдПрд╕рдПрдЪ рдПрдХреНрд╕реЗрд╕ рдЖрддрд╛ рд╣реИ, рдЕрдм рдЖрдк рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░


рдкреНрд░рд╛рдкреНрдд рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдлрд┐рд░ SSH рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВред
SSH рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рдкреБрдЯреНрдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ "рдореБрдбрд╝" рд╕рдВрд╢реЛрдзрди - рдХрд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд░реНрд╡рд░ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣реЛрд╕реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдкрддреЗ рдХреЛ рджрд░реНрдЬ рдХрд░реЗрдВ, рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рд╕рдВрдХреЗрдд рджрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдЯ рджрд░реНрдЬ рдХрд░реЗрдВред
рд▓рд┐рдирдХреНрд╕ рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕рдореЗрдВ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдХреЗ рджреЗрд╢реА рдЯрд░реНрдорд┐рдирд▓ (рдЯрд░реНрдорд┐рдирд▓, рдХрдВрд╕реЛрд▓, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:
 ssh root@1.2.3.4 

рдЬрд╣рд╛рдВ 1.2.3.4 рд╣реЛрд╕реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдЖрдИрдкреА рдкрддрд╛ рд╣реИ, рдЬрдм рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЧрдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓реЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдореЛрд╣:
 passwd 

рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдкрд░, рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджреЛ рдмрд╛рд░ рджрд░реНрдЬ рдХрд░реЗрдВ, рдореИрдВ рдЖрдкрдХреЛ KeePassX рдореЗрдВ рдЗрд╕реЗ рдЬреЗрдирд░реЗрдЯ рдФрд░ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ (> 20 рд╡рд░реНрдг) рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ, рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдХреБрд▓ рдЕрджреНрдпрддрди рдХрд░рдирд╛:
 apt-get update apt-get upgrade 

рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рдХреА рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рддреА рдХрд░реЗрдВрдЧреЗ:
 adduser myuser 

рдЖрдк рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ
рдЕрдм рдЖрдкрдХреЛ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкрд╛рджрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдиреИрдиреЛ рдкрд╕рдВрдж рд╣реИ:
 apt-get install nano 

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдорд╛рдВрдб рдХреЛ рд░реВрдЯ (sudo) рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдЬреЛрдбрд╝реЗрдВ:
 nano /etc/sudoers #   root ALL=(ALL:ALL) ALL #     myuser ALL=(ALL:ALL) ALL 

рдЕрдм рд╣рдо SSH (рд╡реИрдХрд▓реНрдкрд┐рдХ, рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддреЗ рд╣реИрдВ:
 nano /etc/ssh/sshd_config #  PermitRootLogin yes #   PermitRootLogin no 

рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╢реАрди рдХреЛ рд░рд┐рдмреВрдЯ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рдП рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 reboot 

рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж, рдЖрдк myuser рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рдЖрдк рдЙрд╕ рд▓реЙрдЧрд┐рди рдХреЛ рдкреВрд░реНрд╡-рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
 ssh myuser@1.2.3.4 


рдЕрдм рдореИрдВ Django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрдИ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдбрд╛рд▓рддрд╛ рд╣реВрдВ:
 sudo apt-get install gcc mysql-server python-mysqldb memcached mercurial python-profiler w3m python-setuptools libmysqlclient-dev git-core python-dev rabbitmq-server supervisor nginx 

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рд╣реИ:


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддреИрдирд╛рддреА


рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП, рд╣рдо virtualenv рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдордиреЗ рдЙрдкрдпреЛрдЧреА easy_install рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреА, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЕрдм рд╣рдо virtualenv рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ:
 sudo easy_install virtualenv 

рдиреЛрдЯред рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкрд╛рдЗрдк рдХреЛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд┐рдкреНрд╕ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдХрд╕реНрдорд┐рдХ рд╕рдВрдШрд░реНрд╖ рди рд╣реЛред
рдЕрдм рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕реЗ рдШрд░ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд╣реАрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рд░рд╣рдиреЗ рджреЗрдВ:
 /home/myuser/web/myproject 

рдореИрдВ git рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдПрд╕рд╕реАрдкреА рдХреЗ рд╕рд╛рде рдХреЙрдкреА рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ, рдЖрдк рд▓рд┐рдирдХреНрд╕ рдореЗрдВ WinSCP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдмрдВрдзрдХ рдПрдбреНрд░реЗрд╕ рдлреЙрд░реНрдореЗрдЯ sftp: //myuser@1.2.3.4 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ build_env.sh рд╣реИ:
 #!/bin/bash echo $0: Creating virtual environment virtualenv --prompt="<myenv>" ./env mkdir ./logs mkdir ./pids mkdir ./db mkdir ./static_content mkdir ./static_content/media echo $0: Installing dependencies source ./env/bin/activate export PIP_REQUIRE_VIRTUALENV=true ./env/bin/pip install --requirement=./requirements.conf --log=./logs/build_pip_packages.log echo $0: Making virtual environment relocatable virtualenv --relocatable ./env echo $0: Creating virtual environment finished. 

рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ.рдХреЙрдиреНрдлрд╝ рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
 django git+git://github.com/sehmaschine/django-grappelli.git#egg=django-grappelli git+git://github.com/django-mptt/django-mptt.git#egg=django-mptt git+git://github.com/krvss/django-social-auth.git#django-social-auth git+git://github.com/gabrielhurley/django-wymeditor.git#django-wymeditor git+git://github.com/jtauber/django-mailer.git#django-mailer git+git://github.com/tweepy/tweepy.git#tweepy django-celery django-debug-toolbar django-pdb python-memcached MySQL-python xlrd unidecode anyjson gunicorn pillow south fabric requests xlwt 

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

рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдм рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рдо MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред MySQL рдХрдВрд╕реЛрд▓ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
 mysql -uroot -pROOTPASSWORD 

рдЬрд╣рд╛рдВ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ:
 CREATE DATABASE myproject CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'myproject'@'localhost' IDENTIFIED BY 'USERPASSWORD'; GRANT ALL PRIVILEGES ON myproject.* TO 'myproject'@'localhost'; 

рдЕрдм рдПрдХреНрд╕реЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓ (settings.py or local_settings.py) рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдзрд╛рд░ рдбрдВрдк рд╣реИ, рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдПрдХ рдЖрд░реЗрдЦ рдмрдирд╛рдПрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛:
 cd ~/web/myproject #     source env/bin/activate #    python manage.py syncdb #      
рдЕрдм рд╣рдо рд╕реНрдЯреЗрдЯрд┐рдХ рдлрд╛рдЗрд▓реНрд╕ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ:
 python manage.py collectstatic 

рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

Nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


Nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ / etc / nginx / sites-available / folder рдореЗрдВ myproject.conf config (рдкреНрд░рддреНрдпрдп .conf) рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдк рдиреИрдиреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ SSH рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 sudo nano /etc/nginx/sites-available/myproject.conf 

рдлрд┐рд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ (Shift + Insert), рдЗрд╕реЗ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдареАрдХ рдХрд░реЗрдВ, (Ctrl + O), рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ (Ctrl + X)ред
Myproject.conf рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 upstream myproject.ru { server localhost:12345 fail_timeout=0; } server { listen 80; server_name www.myproject.ru; rewrite ^/(.*) http://myproject.ru/$1 permanent; } server { listen 80; client_max_body_size 4G; server_name myproject.ru; access_log /home/myuser/web/myproject/logs/myproject.access.log; keepalive_timeout 5; root /home/myuser/web/myproject/static_content; location / { proxy_pass http://myproject.ru; } error_page 500 502 503 504 /500.html; location = /500.html { root /home/myuser/web/myproject/static_content/static/html; } location ~ ^/(static|media)/ { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://myproject.ru; break; } } } 
рдЖрдЗрдП рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЕрдкрд╕реНрдЯреНрд░реАрдо рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╣реИ: 12345 рд╕реЙрдХреЗрдЯ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЙрди рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВрдЧреЗ рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдпреВрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
/ рд╕реНрдерд┐рд░ / * - рд╕реНрдереИрддрд┐рдХ рд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ;
/ рдореАрдбрд┐рдпрд╛ / * - рдореАрдбрд┐рдпрд╛ рдлрд╛рдЗрд▓реЗрдВ, рдлрд╛рдЗрд▓реЗрдВ рдЬреЛ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ;
рдЗрд╕ рд╕реЙрдХреЗрдЯ рдкрд░ рд╣рдо рдЕрдкрдиреЗ рдЧрд┐рдирд┐рдХреЛрд░реНрди рдХреЛ рд▓реЗрдЦ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЯрдХрд╛рдПрдВрдЧреЗред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирд╛рдо, рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдпрджрд┐ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирд╛рдо рд╕рд╛рдЗрдЯ рдХреЗ рдбреЛрдореЗрди рдирд╛рдо рд╕реЗ рдЕрд▓рдЧ рдерд╛ (рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Django рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрд╛рда рдпрд╛рдж рдирд╣реАрдВ рд╣реИ)ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣рд┐рд╕реНрд╕реЗ:
www.myproject.ru рд╕рдмрдбреЛрдореЗрди рд╕реЗ myproject.ru рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
5XX рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдПрдХ рд╕реНрдерд┐рд░ 500.html рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рд╕рд╛рдЗрдЯ рдХреЛ 404 рдкреГрд╖реНрда рджрд┐рдЦрд╛рдПрдВ, рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ 500.html рдкрд░ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рдкрд╛рда рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ;
рдпрджрд┐ рдХреЛрдИ рд╕реНрдереИрддрд┐рдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдХреЛ gunicorn рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдорд╛рдирдХ 404 рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рд╕рдХреЗред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЬрд╣рд╛рдВ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЖрдк рдЗрд╕реЗ рдХрдорд╛рдВрдб рдХреИрдЯ /etc/nginx/sites-available/myproject.conf рдХреЗ рд╕рд╛рде рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ), рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 sudo ln -s /etc/nginx/sites-available/myproject.conf /etc/nginx/sites-enabled/ 

рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:
 sudo service nginx restart 


Gunicorn рдФрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдордиреЗ gunicorn рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЕрдм рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧрддрд┐рд╢реАрд▓ HTTP рдкреНрд░рддрд┐рд╕рд╛рдж (HTTP-response) Django- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЧреБрдирд┐рдХреЙрд░реНрди рд╕реНрд╡рдпрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рдЧреБрдиреЛрд░реНрди рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╣рдо рдЗрд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рд╡рд╛рд▓реЗ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЛ рд╕реМрдВрдк рджреЗрдВрдЧреЗред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ gunicorn рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдлреНрд░рдВрдЯ рд▓рд╛рдЗрди рдкрд░ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рд░реНрд╡рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, nginx рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, /etc/supervisor/conf.d/ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдирд┐рдореНрди рдХреЗ рд╕рд╛рде myproject.conf рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
 [program:myproject] command=/home/myuser/web/myproject/env/bin/python /home/myuser/web/myproject/src/myproject/manage.py run_gunicorn --bind=localhost:12345 --workers=3 --pid=/home/myuser/web/myproject/pids/gunicorn.pid --log-file /home/myuser/web/myproject/logs/gunicorn.log directory=/home/myuser/web/myproject/src/myproject umask=022 autostart=true autorestart=true startsecs=10 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 user=myuser 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ gunicorn рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╣рдо рд╡рд╛рдпрд░рдЯреИрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдкреЛрд░реНрдЯ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ 12345), рдЬреЛ рдХрд┐ nginx config рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 3 рдкрд░ рд╕реЗрдЯ рд╣реИ, рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдм рддрдХ рдореИрдВ рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж (рдЖрдк рдЗрд╕реЗ cat /etc/supervisor/conf.d/myproject.conf рдЪрд▓рд╛рдХрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ) рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдпрд╛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
 sudo supervisorctl reload 

рдЖрдк рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 sudo supervisorctl status 

рдпрджрд┐ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ myproject рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ RUNNING рд╣реЛ рдЬрд╛рдПрдЧреАред

рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг


perl: рдЪреЗрддрд╛рд╡рдиреА: рд╕реЗрдЯрд┐рдВрдЧ рд▓реЛрдХреЗрд▓ рд╡рд┐рдлрд▓ред
рд╢реБрд░реВ рд╕реЗ рд╣реА, рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ:
 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: 
рд╕рд╣реА рд╕реНрдерд╛рди рдЬреЛрдбрд╝рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛:
 locale-gen ru_RU.UTF8 

рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░: http://askubuntu.com/questions/76013/how-do-i-add-locale-to-ubuntu-server


sudo: рд╕реЗрддреБ рдЬрдбрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд sudo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрднрд╡ рд╣реИ:
 sudo: must be setuid root 

рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рд▓:
 chmod 4755 /usr/bin/sudo 



E: рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде, рдЖрдкрдиреЗ рдЯреВрдЯреЗ рд╣реБрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд░рдЦрд╛ рд╣реИред
Ubuntu 12.04 рдкрд░ рдХреБрдЫ рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп (рдЬреИрд╕реЗ рдХрд┐ python-dev рдпрд╛ libmysql-dev), рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрднрд╡ рд╣реИ:
 libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.2) but 2.15-0ubuntu10+openvz0 is to be installed E: Unable to correct problems, you have held broken packages. 
рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ /etc/apt/preferences.d/99ovz-libc-pin рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
рдЬрдЧрд╣
 libc-bin libc6 

рдкрд░
 libc-bin libc6 libc6-dev libc-dev-bin 



рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддрд╛ / dev / null: рдЕрдиреБрдорддрд┐ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ:
 Couldn't open /dev/null: Permission denied 

рдЗрд╕ рддрд░рд╣ рддрдп рдХрд┐рдпрд╛:
 sudo chmod 666 /dev/null 

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЦрддрд░реЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖


рд╣рдо рдЗрд╕ рддреИрдирд╛рддреА рдХреЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:

Django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреЛ рд╕рддреНрдпрд╛ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдХрдИ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рдерд╛ред рдореЗрд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдЕрдВрддрд┐рдо рд╕рддреНрдп рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ


  1. FirstVDS - рд╕рд╕реНрддрд╛ VPS рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рдПрдХ рдЪреМрдерд╛рдИ рдСрд░реНрдбрд░ рд▓рд┐рдВрдХ рд╕рд╕реНрддрд╛ рд╣реИред
  2. рдкреЛрдЯреАрди рдФрд░ рдХрд┐рдЯреНрдЯреА рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрдЪ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИрдВред
  3. WinSCP - рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдПрд╕рд╕реАрдкреА-рдХреНрд▓рд╛рдЗрдВрдЯ, рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдПрд╕рдПрд╕рдПрдЪ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  4. KeePassX рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреЛрд░реЗрдЬ рдпреВрдЯрд┐рд▓рд┐рдЯреА рд╣реИред
  5. рдЙрдмрдВрдЯреВ LTS - рдЙрдмрдВрдЯреВ рд▓реЙрдиреНрдЧ рдЯрд░реНрдо рд╕рдкреЛрд░реНрдЯ рд░рд┐рд▓реАрдЬрд╝ рдкреЙрд▓рд┐рд╕реАред
  6. рдЙрдмрдВрдЯреВ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреА рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдиреЙрдЗрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪрдордХ рд╕рдХрддрд╛ рд╣реИред
  7. Django Deployement - Django рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗред
  8. virtualenv - virtualenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  9. Nginx - nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВред
  10. рд╕реБрдкрд░рд╡рд╛рдЗрдЬрд░ + рдЧрд┐рдВрдХреЛрд░реНрди - рдирдЧреАрдиреЗрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд┐рдВрдХреЛрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

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


All Articles