- PVSM.RU - https://www.pvsm.ru -
Jelastic [1] — многоязыковая платформа как сервис. Сначала была добавлена поддержка Java, затем PHP и Ruby, но на этом разработчики не остановились. Месяц за месяцем вытачивалась новая для Jelastic платформа — Python. В этой статье будет рассказано, как развернуть Django CMS на Infobox Jelastic.
В конце статьи информация о том, как получить 300 рублей на счет для экспериментов с Infobox Jelastic [1].
В Jelastic поддерживается веб-сервер Apache для
Вы можете воспользоваться одной из 3х версий Python:
Все версии предустановлены в контейнеры Python. Пользователь может выбрать необходимую версию при создании окружения и изменить, при необходимости, в процессе работы.
Вы можете просто развернуть приложение Python:
1. с помощью архива или ссылки [3]
2. Через GIT/SVN [4]
Вы можете развернуть только одно Python приложение на окружение. Оно будет развернуто в ROOT по умолчанию. Конечно, вы можете воспользоваться и SSH для развертывания приложения.
Когда вы разворачиваете пакет, его корень должен содержать следующие файлы:
Для успешного развертывания и запуска приложения Python могут потребоваться некоторые дополнительные модули или другие пакеты. Управление требуемым ПО организовано через pip, популярную систему управления пакетами Python.
Для загрузки и установки модулей Python есть два способа:
pip install {package_name} – для установки необходимого модуля;
pip uninstall {package_name} – для удаления установленного модуля;
pip install –upgrade{package_name} – для обновления конкретного модуля до последней версии;
pip install -r requirements.txt – для установки всех модулей из requirements.txt;
pip list — для просмотра уже установленных модулей.
Используя дополнительные команды и их параметры вы можете указать предпочитаемые модули и версии, настроить разрешение зависимостей, показать информацию об установленных модулях или поискать необходимый в репозитории PyPI [5]. Для дальнейшего ознакомления с pip рекомендуем руководство пользователя [6].
Jelastic создает следующие файлы логов, доступные в Python WSGI:
Вы можете посмотреть логи, кликнув на кнопку Log на контейнере Apache в вашем окружении. Здесь вы можете проследить все действия, выполняемые с вашим окружением Python.
В настоящий момент Jelastic поддерживает следующие фреймворки на Python:
Вы можете развернуть различные приложения Python, основанные на этих фреймворках. Ниже мы покажем, как разворачивать DjangoCMS, а в следующей статье посмотрим на Quokka CMS (основанной на Flask).
Django – фреймворк с открытыми исходными текстами для приложений Python. Он помогает упростить процесс создания сложных веб-приложений, каждое из которых может состоять из набора подключаемых модулей. Давайте посмотрим на преимущества использования Django в Infobox Jelastic и связки Apache + mod_wsgi на примере организации
Создадим окружение для Python в Infobox Jelastic. Зарегистрируйте аккаунт на http://infobox.ru/hosting/cloud/ [1] (бесплатно активируется пробная версия), залогиньтесь в панель управления и нажмите кнопку «Создать окружение».
Перейдите к вкладке «Python». Apache будет выбран автоматически. Укажите минимальный и максимальный лимиты доступных ресурсов (с Python работает автомасштабирование Jelastic, позволяющее оплачивать за потребляемые ресурсы по факту без необходимости резервирования ресурсов), введите имя окружения (например «django») и нажмите Create.
В течение минуты будет создано окружение в вашей панели управления.
Теперь мы можем непосредственно приступить к развертыванию DjangoCMS одним из следующих способов:
1. Сгенерируйте [8] и добавьте публичный SSH ключ [9] в вашу панель управления.
2. Установите соединение [10] по SSH с контейнером Apache вашего окружения.
3. После входа в контейнер, убедитесь, что вы находитесь в домашней директории вашего пользователя:
cd ~
4. Вы должны создать виртуальное окружение вашего приложения внутри контейнера. Это позволит вам изолировать окружение Python и устанавливать пакеты без необходимости получения привилегий администратора.
virtualenv virtenv
5. Активируйте и переключитесь на созданное виртуальное окружение.
source virtenv/bin/activate
6. Теперь, давайте установим набор модулей, требуемых Django.
pip install django django-cms djangocms_video djangocms_teaser djangocms_picture djangocms_link django-reversion djangocms_inherit djangocms_googlemap djangocms_flash djangocms_file djangocms_column djangocms-installer djangocms_text_ckeditor djangocms_style
Через несколько минут операция завершится.
7. Сотрите предустановленное приложение по умолчанию и создайте новое для Django CMS.
rm -rf ROOT; djangocms -p . ROOT
8. После выполнения вышеприведенной команды вам зададут несколько дополнительных вопросов по настройке нового приложения.
Уделите особое внимание настройке базы данных:
Завершите оставшиеся шаги мастера установки вводом необходимых параметров или оставив параметры по умолчанию (отображаются в конце строки в квадратных скобках).
9. Когда приложение настроено, у вас спросят имя пользователя, пароль и адрес электронной почты для CMS.
10. Введите следующую команду для создания нового файла и указания точки входа для mod_wsgi модуля:
vim ROOT/application
Нажмите «i» для перехода в режим редактирования и вставьте следующие строки:
import os,sys
virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
sys.path.append('/opt/repo')
sys.path.append('/opt/repo/ROOT')
os.environ['DJANGO_SETTINGS_MODULE'] = 'ROOT.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Сохраните изменения и закройте Vim, нажав Esc и написав ":wq".
12. Введите команду:
vim ROOT/settings.py
В открывшемся файле найдите и замените строку:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, ‘ROOT’, ‘static’),
)
следующим содержанием:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, ‘ROOT’, ‘static_local’),
)
Сохраните изменения и закройте Vim.
Создайте новую поддиректорию для статического контента:
mkdir ROOT/static_local
и, наконец, запустите синхронизацию ресурсов:
./manage.py collectstatic
Введите «yes», если система запросит подтверждения.
Это все! Теперь вы можете кликнуть «Открыть в браузере» и насладиться Django CMS.
Вы увидите экран приветствия.
Для доступа к панели администрирования Django CMS добавьте /admin в конец URL окружения. Для доступа используйте введенные вами при установке Django CMS учетные данные суперпользователя.
Если вы заранее собрали и упаковали приложение Django, процедура развертывания может быть выполнена всего за несколько шагов, как показано ниже.
Не забудьте про необходимость наличия requirements.txt и application файлов в пакете. Пример в предыдущем разделе.
1. Загрузите пакет с приложением Django в Диспетчер дистрибутивов.
2. Нажмите «Развернуть в...» и выберите необходимое окружение.
3. Подождите минутку окончания развертывания и нажмите «Открыть в браузере».
Это все! Приятной работы с приложением на Django.
Мы очень счастливы представить Вам поддержку Python в Infobox Jelastic с обеспечением возможности гибкого масштабирования приложений и автоматизациями Jelastic. Мы постарались упростить разработку и запуск приложений Python на платформе Infobox Jelastic без Vendor–lock на быстром и надежном оборудовании.
Попробуйте сейчас и получите 300 рублей на счет Infobox Jelastic. Зарегистрируйтесь [1] и по окончании триала нажмите кнопку «Перейти на платную версию». Заполните информацию о себе. Пришлите ваш логин нам [11] и мы начислим вам бонус (из статей бонус можно получить 1 раз на 1 аккаунт).
Успешного использования Infobox Jelastic [1]!
Автор: infobox
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/67800
Ссылки в тексте:
[1] Jelastic: http://infobox.ru/hosting/cloud/
[2] хостинга: https://www.reg.ru/?rlink=reflink-717
[3] с помощью архива или ссылки: http://docs.jelastic.com/deploy-python-archive-url
[4] Через GIT/SVN: http://docs.jelastic.com/python-git-svn
[5] PyPI: https://pypi.python.org/pypi/
[6] руководство пользователя: https://pip.pypa.io/en/latest/user_guide.html
[7] информацию о совместимости Django: https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
[8] Сгенерируйте: http://docs.jelastic.com/ru/ssh-generate-key
[9] добавьте публичный SSH ключ: http://docs.jelastic.com/ssh-add-key
[10] Установите соединение: http://docs.jelastic.com/ssh-access
[11] Пришлите ваш логин нам: mailto:trukhinyuri@infoboxcloud.com
[12] Источник: http://habrahabr.ru/post/233793/
Нажмите здесь для печати.