Развертывание приложения на базе Django (Python) в Microsoft Azure

Это руководство посвящено размещению на платформе Microsoft Azure веб-сайта на основе Django при помощи виртуальной машины Linux. При изложении материала предполагается, что пользователь не имеет опыта работы с Microsoft Azure. Выполнение всех шагов данного руководства позволяет запустить приложение на основе Django в облаке.

Изучив это руководство, вы сможете:

  • Настроить виртуальную машину Microsoft Azure для размещения Django. В этом документе приведены настройки для Linux. Однако эти сведения можно использовать и для виртуальной машины Windows Server 2008 R2, работающей на платформе Microsoft Azure.
  • Создать новое приложение Django для Linux.

Следуя приведенным инструкциям, вы создадите простое веб-приложение Hello World. Это приложение будет размещено на виртуальной машине портала ознакомительной версии Microsoft Azure.

Снимок экрана готового приложения приведен ниже.

Примечание. Для выполнения действий, описываемых в этом руководстве, необходима учетная запись Microsoft Azure с активированной функцией Виртуальные машины Microsoft Azure. Создать бесплатную пробную учетную запись и активировать функции для предварительного ознакомления можно всего за несколько минут. Для получения дополнительных сведений см. Create a Microsoft Azure account and enable preview features (Создание учетной записи Microsoft Azure и включение функций для предварительного ознакомления).

Создание и настройка виртуальной машины Microsoft Azure для размещения Django

Следуйте инструкциям, приведенным здесь, чтобы создать виртуальную машину под управлением Ubuntu Server 12.04 на портале ознакомительной версии Microsoft Azure.

Примечание: все, что вам нужно,  это создать виртуальную машину. Изучите разделКак войти в систему на созданной виртуальной машине.

Настройте Microsoft Azure так, чтобы данные, поступающие на порт 80 из Интернета, перенаправлялись на порт 80 виртуальной машины.

На портале ознакомительной версии Microsoft Azure выберите вновь созданную виртуальную машину и откройте вкладку ENDPOINTS (Конечные точки).

Нажмите кнопку ADD ENDPOINT (Добавить конечную точку) в нижней части экрана.

Для протокола TCP откройте PUBLIC PORT (частный порт) 80 как PRIVATE PORT (общедоступный порт) 80.

Настройка среды разработки

Примечание: если вам нужно установить Python или использовать клиентские библиотеки, см. руководство по установке Python.

Виртуальная машина Ubuntu Linux уже имеет в своем составе предустановленный Python 2.7. Однако Apache и Django не установлены. Для подключения к виртуальной машине и установки Apache и Django выполните следующие действия:

Откройте новое окно Terminal (Терминал). Для подключения к виртуальной машине Microsoft Azure введите следующую команду:

$ ssh имя_пользователя@Url_виртуальной_машины

Чтобы установить Django, введите следующие команды:

$ sudo apt-get install python-setuptools 
$ sudo easy_install django

Чтобы установить Apache с модулем mod-wsgi, введите следующую команду:

$ sudo apt-get install apache2 libapache2-mod-wsgi

Создание приложения Django

Откройте окно Terminal, которое вы использовали в предыдущем разделе для подключения к виртуальной машине при помощи ssh. Чтобы создать новый проект Django, введите следующую команду:

Сценарий django-admin.py создает основные элементы структуры сайта на основе Django.

  • manage.py позволяет начать и остановить размещение веб-сайта на основе Django.
  • helloworld\settings.py содержит настройки Django для приложения.
  • helloworld\urls.py содержит код соответствия для каждого URL-адреса и его представления.

Создайте файл views.py в подкаталоге helloworld папки django\helloworld как элемент того же уровня, что и urls.py. Содержащийся в нем код будет создавать страницу "hello world". Откройте редактор и введите следующие строки:

from django.http import HttpResponse def hello(request): html = "<html><body>Hello World!</body></html>" return HttpResponse(html)

Теперь замените содержимое файла urls.py следующими строками:

from django.conf.urls.defaults import patterns, include, url from helloworld.views import hello urlpatterns = patterns('', (r'^$',hello), )

Развертывание и запуск веб-сайта Django

Отредактируйте файл на строке Apache /etc/apache2/httpd.conf. Добавьте следующие строки, заменив username на имя пользователя, которое вы указали при создании виртуальной машины.

WSGIScriptAlias / /home/*username*/django/helloworld/helloworld/wsgi.py WSGIPythonPath /home/*username*/django/helloworld <Directory /home/*username*/django/helloworld/helloworld> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory>

Перезапустите Apache с помощью следующей команды:

$ sudo apachectl restart

И наконец, откройте веб-страницу в браузере.

Выключение виртуальной машины Microsoft Azure

Завершив этот урок, остановите и при необходимости удалите виртуальную машину Microsoft Azure, чтобы освободить ресурсы для других учебных задач и остаться в рамках бесплатной функциональности Microsoft Azure.

Это перевод оригинальной статьи Django Hello World Web Application