Настройка облачного сервера Ubuntu для работы веб-приложений Python

Вступление

Облачные вычисления формируют всю отрасль информационных технологий, и Ubuntu играет здесь далеко не последнюю роль. Этот проверенный и простой в использовании дистрибутив Linux, поддерживающий огромное множество инструментов, библиотек и приложений и упрощающий выполнение сложных задач, стал «волшебной палочкой» пользователей открытого облачного пространства.

Данная статья рассказывает, как подготовить облачный сервер Ubuntu к размещению веб-приложений Python. Благодаря этому руководству можно получить надежную инсталляцию Ubuntu, оборудованную почти всеми инструментами, необходимыми для развертывания проекта Python.

 Ubuntu 13.10 (дата реализации: октябрь 2013)

Для начала нужно обновить систему, загрузив и установив требуемые для Python инструменты и библиотеки, а затем создав идеальное окружение для развертывания веб-приложений.

 Обновление системы

Для начала нужно установить пакеты обновления версии Ubuntu.

Обновите список источников программного обеспечения, а затем модернизируйте устаревшие приложения:

# Обновите список исходных кодов приложений:
aptitude    update
# Обновите устаревшие версии приложений:
aptitude -y upgrade

 Необходимые системные инструменты и библиотеки

Итак, теперь нужно скачать и установить инструменты и библиотеки, которые будут полезны сейчас или пригодятся в будущем.

Запустите команду build-essential, которая устанавливает все пакеты, необходимые для компиляции исходного кода приложений.

aptitude install -y build-essential

Затем установите инструмент контроля версий:

aptitude install -y cvs subversion git-core mercurial

Также понадобятся пакеты приложений Python:

aptitude install python-setuptools python-dev \

python2.7-dev python-software-properties \
libpq-dev

В завершение, для различных других действий и задач (как обработка изображений) необходимы сторонние библиотеки:

aptitude install libtiff4-dev libjpeg8-dev \
zlib1g-dev libfreetype6-dev liblcms2-dev \
libwebp-dev tcl8.5-dev tk8.5-dev

Установка общих инструментов Python

В системах Ubuntu и Debian последняя версия интерпретатора Python поставляется по умолчанию. Потому все, что остается сделать – установить некоторые дополнительные пакеты, а именно:

  • pip (для управления пакетами);
  • virtualenv (для создания изолированного виртуального окружения).

Для запуска pip используйте следующие команды:

# загрузить зависимости:
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python -
# загрузить pip:
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
# добавить путь:
export PATH="/usr/local/bin:$PATH"

Приложение Python лучше всего содержать в пределах собственной среды вместе со всеми его зависимостями. Простыми словами, среда – это изолированное место (каталог), в котором постоянно хранятся все необходимые программы. Для создания такой среды используется инструмент virtualenv.

Чтобы установить virtualenv с помощью pip, запустите:

pip install virtualenv

Развертывание среды для приложений Python

Примечание: приведенные ниже инструкции достаточно коротки. Чтобы получить более подробную информацию, читайте статью об использовании pip и virtualenv «Общие инструменты Python: использование virtualenv, установка пакетов с помощью pip и управление пакетами».

Запустите следующую команду, которая развернет виртуальную среду для приложения python:

# Создать виртуальную среду:
# как: virtualenv [имя главного каталога приложения] # пример:
virtualenv django_app
# Укажите каталог, с которым нужно работать
# интерпретатору Python:
# пример:
cd django_app

Чтобы использовать изолированный интерпретатор Python и менеджер пакетов pip, нужно либо активировать среду:

# активировать *virtualenv*:
source bin/activate

либо вызывать интерпретатор Python непосредственно всякий раз, когда нужно работать с приложением, расположенным в этой среде:

# вызвать интерпретатор Python:
# как: bin/python [команда] # пример:
bin/python manage.py runserver 0.0.0.0:8000

Установка приложения

Когда все готово, можно начать работу с Python и собрать веб-приложение.

Ниже приведен список полезных руководств:

  • Flask:

Развертывание веб-приложения Flask

  • Pyramid:

Использование фреймворка Pyramid для сборки приложения Python

Развертывание приложения Python на основе Pyramid

  • Django CMS:

Инструкции по настройке и установке Django CMS

Установка Django CMS Version 3 Beta 3

  • Mezzanine

Установка и начало работы с Mezzanine CMS на основе Django

Подготовка к производству

Тестовый сервер, который поставляется с Django, не подходит для реальных сценариев производства. Прежде чем разместить приложение в Интернете, нужно скачать и установить подходящий сервер приложений Python и настроить его. Сделать это удивительно легко.

Чтобы определить, какой сервер приложений подойдет в данном случае больше всего, прочтите статью «Сравнение серверов для веб-приложений Python».

Определившись с сервером, изучите следующие руководства, чтобы развернуть приложение Mezzanine:

Пользователи, предпочитающие работать с Apache, могут заменить Nginx на Apache. Чтобы узнать, как использовать текущую инсталляцию Apache как обратный прокси-сервер для любого из перечисленных выше серверов, читайте статью “Использование HTTP-сервера Apache как инвертированного прокси-сервера“.

Tags: , , , , , , , , , , , , , , , ,

Добавить комментарий