рджрд┐рди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реИ!
рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП PHP рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ Django рд╕рдорд░реНрдерди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдмрдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рддреАрд╕рд░реЗ рдкрд╛рдпрдерди рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдлрд╝реНрд░реАрдорд╛рд░реНрдХ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдлрд┐рд░ рд╕рддрд╣ рдкрд░ рдиреБрдХрд╕рд╛рди рд╣реЛрдиреЗ рд▓рдЧреЗред
рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:
- Ubuntu рд╕рд░реНрд╡рд░ 12.04 рдкрд░ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг 2.7 рд╣реИ, рдФрд░ рдореИрдВ рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛
- Django 3.2 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ mod_wsgi рд╕рдВрд╕реНрдХрд░рдг 3.2 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- рдЗрди рдореБрджреНрджреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд╛ рдЕрднрд╛рд╡
рджрд░рдЕрд╕рд▓, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреАрд╕рд░реЗ рдмрд┐рдВрджреБ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ apache2 рдФрд░ PHP рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВред рд╣рдо рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ - 3.3 (рдпрд╣ рд╕рд░реНрд╡рд░ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╣реБрдд рдирд╡реАрдирддрдо рд╕реЗ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдЙрдмрдВрдЯреВ 12.04 рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдк рдХреЗрд╡рд▓ 3.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛
рднрдВрдбрд╛рд░ рдЬреЛрдбрд╝реЗрдВ:
sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update
рдЕрдЬрдЧрд░ 3.3 рдФрд░ рдЕрдЬрдЧрд░ 3.3 рджреЗрд╡ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рд╣рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж mod_wsgi рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА):
sudo apt-get install python3.3 sudo apt-get install python3.3-dev
рдЕрдЧрд▓рд╛ рдХрджрдо mod_wsgi рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдЕрдЬрдЧрд░ рдФрд░ рдЕрдкрд╛рдЪреЗ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдкреНрдЯреАрдЯреНрдпреВрдб рдХрдорд╛рдВрдб рдкрд░ рдЙрдкрд▓рдмреНрдз рд╡рд┐рддрд░рдг рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 3.3 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╕
рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдирдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЕрдЬрдЧрд░ рдХреЛ рдкрддрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
hg clone https://code.google.com/p/modwsgi/ cd ./modwsgi/mod_wsgi ./configure --with-python=/usr/bin/python3.3 make sudo make install
рдЕрдм Django 1.6 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.3 рд╣реИ, рдЬреЛ 1.6 рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЬрдЧрд░ 3 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
wget https://www.djangoproject.com/download/1.6/tarball/ tar xzvf index.html cd Django-1.6 sudo python setup.py install
рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдордиреЗ рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЕрдВрддрд┐рдо рдкрд╛рдпрдерди, django рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдпрд╣ рд╕рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдФрд░ рдПрдХ django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ:
mkdir -p ~/public_html/domain1.com cd ~/public_html/domain1.com django-admin.py startproject MyProject
рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдФрд░ WSGI рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдПрдБ:
sudo nano /etc/apache2/sites-available/domain1.com
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
<VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com WSGIScriptAlias / /home/username/public_html/domain1.com/MyProject.wsgi </VirtualHost>
рдПрдХ WSGI рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
nano ~/public_html/domain1.com/MyProject.wsgi
рд╣рдо рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
import os import sys sys.path.append('~/public_html/domain1.com/') os.environ['DJANGO_SETTINGS_MODULE'] = 'MyProject.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
рдЕрдкрд╛рдЪреЗ рд╕реЗрдЯрдЕрдк
рдЕрдм рдЖрдкрдХреЛ httpd.conf рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
sudo nano /etc/apache2/httpd.conf
рд╣рдо рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so WSGIScriptAlias / /home/username/public_html/domain1.com/MyProject/MyProject/wsgi.py WSGIPythonPath /home/username/public_html/domain1.com/MyProject <Directory /home/username/public_html/domain1.com> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory>
рд▓рдЧрднрдЧ рдХрд┐рдпрд╛ рд╣реБрдЖ
рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, Apache рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
sudo a2ensite domain1.com sudo service apache2 restart
рдЕрдм рдЖрдкрдХреА рдирдИ рд╕рд╛рдЗрдЯ рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЛ рдЦреБрд╢реА рд╕реЗ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐: "рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!", рдФрд░: "рдмреЗрд╢рдХ, рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдРрдк рд╢реБрд░реВ рдХрд░реЗрдВ рдЕрдЬрдЧрд░ рдкреНрд░рдмрдВрдзрди рдУрд░реЗрдХрд▓ рд╢реБрд░реВ рдХрд░реЗрдВ [appname]ред "ред

рд╡рд╣ рд╕рдм рд╣реИ! рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рдореБрдХрд╛рдмрд▓реЗ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреЛрдбрд┐рдВрдЧ рд╣реИ!