Pylons - быстрый старт

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 13:05, 20 ноября 2009 (править)
Dmih (Обсуждение | вклад)
м
← К предыдущему изменению
Текущая версия (20:23, 15 ноября 2016) (править) (отменить)
Renton (Обсуждение | вклад)
(См. также)
 
(20 промежуточных версий не показаны.)
Строка 1: Строка 1:
 +<br />
 +<br />
 +<table cellspacing="0">
 +<tr style="background: #F7D9D9">
 +<td width="850px" style="vertical-align:top; border-top: 1px solid #D63838; border-left: 1px solid #D63838; border-bottom: 1px solid #D63838; border-right: 1px solid #D63838; padding: 1em;">
 +<span style="font-size: 16px; font-weight: bold;">Данная статья предназначена для технических специалистов.</span>
 +<p>Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков.</p>
 +
 +В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами <b>самостоятельно</b> или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга <b>не оказывает</b> консультации по установке и отладке скриптов.
 +</td>
 +</tr>
 +</table>
 +<br />
 +<br />
== Обшие сведения == == Обшие сведения ==
-'''Pylons''' - еще один замечательный web-framework написанный на языке Python.+'''Pylons''' - еще один замечательный, легковесный фреймворк написанный на языке Python. На текущий момент прекращена его активная разработка. Что касается его дальнейшего развития, то оно продолжено в рамках проекта [http://www.pylonsproject.org/ Pyramid].<br />
-На виртуальном хостинге '''1Gb.ru''' его можно запускать как FastCGI приложение. Установка и настройка очень похожа на развертывание [http://www.1gb.ru/1319 Django] и не представляет особого труда.+На виртуальном хостинге '''1Gb.ru''' его можно запускать как WSGI приложение. Установка и настройка очень похожа на развертывание [[Django - быстрый старт (поддерживаемая версия)]] и не представляет особого труда.
== Подготовка окружения == == Подготовка окружения ==
-Ничем не отличается от одноименного пункта статьи "[[Django - быстрый старт]]", за исключением команды (создания рабочих каталогов): 
- mkdir -p ~/src ~/python/lib64/python2.5/site-packages ~/pylons 
-== Установка библиотек==+'''1.''' В личном кабинете, в разделе [https://www.1gb.ru/c/httpdaemon Услуги хостинга HTTP служб] включите поддержку Django/WSGI для сайта:
-* Устанавливаем Pylons:+[[Изображение:Django-new-1.jpg|600px|thumb|left|Django - добавление службы]]<br clear="both" />
- easy_install pylons+ 
-* Устанавливаем модуль flup, для работы Django в FastCGI режиме:+'''2.''' Зайдите на сервер по [http://www.1gb.ru/putty SSH] и запустите команду:
- easy_install flup+ $ /opt/hostpublic/sbin/1gb_virtenv_install.sh
 + 
 +'''2.1.''' Укажите нужную версию Python (по умолчанию ставится stable версия из ветки 3.5):
 + Install latest Python 2.x or 3.x release (choices: 2, 3, 3.2, 3.3, 3.4) [default '''3''']:
 +Список поддерживаемых версий Python можно посмотреть тут http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html
 + 
 +Установка занимает несколько минут.<br /><br />
 +'''2.2.''' Далее команда спросит имя папки куда будет установлен пакет virtualenv. Этот параметр не принципиален, поэтому можно оставить значение по умолчанию или задать любое другое имя, например, '''pyramid-env''' и нажать ENTER
 + Enter the name of new virtual environment you want to create [default: django-env]:
 + 
 +Результатом работы команды 1gb_virtenv_install.sh будет установленный в папку ~/local Python и пакет virtualenv, а также виртуальное окружение из которого будет запускаться Pyramid.<br /><br />
 + 
 +'''3.''' Все последующие команды будут выполняться из виртуального окружения. Для активации окружения выполните команду:
 + $ source ~/.bashrc
 + $ v_activate
 + 
 +'''4.''' Устанавливаем web-сервер
 + (pyramid-env) $ pip install gunicorn; pip install futures
 + 
 + 
 + 
== Настройка приложения == == Настройка приложения ==
-* Создаем структуру приложения:+'''1.''' Устанавливаем фреймворк:
- cd ~/pylons && paster create -t pylons my_project+ (pyramid-env) $ pip install pyramid
 + 
 +'''2.''' Создаем новый проект:
 + (pyramid-env) $ pcreate -s starter '''MyProject'''
 + 
 +'''3.''' Добавьте имя проекта в конфигурационный файл:
 + (pyramid-env) $ echo PYRAMID_PROJECT='''MyProject''' > ~/.pyramidrc
 + 
 +'''4.''' И инсталляция проекта в виртуальное окружение:
 + (pyramid-env) $ cd ~/'''MyProject''' && pip install -e .
-* Создаем файл диспетчера index.fcgi FastCGI в каталоге <code>~/http</code> с таким содержимым:+'''5.''' Запросы содержащие в URL путь static не проксируются в gunicorn, и обрабатываются непосредственно Apache из каталога ~/http/static, поэтому делаем соответствующий симлинк:
- #!/usr/bin/python+ (pyramid-env) $ cd ~/http && ln -sv ../'''MyProject'''/'''имя_приложения'''/static
- +
- import sys, os, site, pkg_resources+
- +
- # Add a custom Python path.+
- PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \+
- '../python/lib64/python2.5/site-packages'))+
- sys.path.insert (0, PYTHON_CUSTOM_PATH)+
- site.addsitedir (PYTHON_CUSTOM_PATH)+
- pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH)+
- +
- # Add a custom Python path.+
- PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \+
- '../pylons'))+
- sys.path.insert (0, PYTHON_CUSTOM_PATH)+
- pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH)+
- +
- from paste.deploy import loadapp+
- from flup.server.fcgi import WSGIServer+
- +
- pkg_resources.working_set.add_entry('/home/virtwww/имя_пользователя/pylons/my_project')+
- +
- app = loadapp('config:/home/virtwww/имя_пользователя/pylons/my_project/test.ini')+
- server = WSGIServer(app)+
- server.run()+
-* Файл <code>.htaccess</code>, также в каталоге <code>~/http</code>+'''6.''' Установка завершена, запуск приложения:
- Options +FollowSymlinks+ (pyramid-env) ~/init.d/wsgi-app start
- +
- AddHandler fcgid-script .fcgi+
- +
- RewriteEngine On+
- RewriteCond %{REQUEST_FILENAME} !-f+
- RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]+
-* Если все сделано правильно, то при запросе своего сайта появится демо-страница: http://test-l11-pylons.1gb.ru/+Демо версию Pyramid, установленного на хостинге 1Gb.ru, можно посмотреть по этому адресу http://test-l34-pyramid.1gb.ru/
== См. также == == См. также ==
* [[Юникс шелл]] * [[Юникс шелл]]
-* [[Django - быстрый старт]]+* [[Django - быстрый старт (поддерживаемая версия)]]
== Ссылки == == Ссылки ==
* [http://www.pylonshq.com/ Pylons Project home page] (англ.) — страница проекта Pylons. * [http://www.pylonshq.com/ Pylons Project home page] (англ.) — страница проекта Pylons.
* [http://pylonsbook.com/ Pylons Book] (англ.) — подробное руководство по Pylons. * [http://pylonsbook.com/ Pylons Book] (англ.) — подробное руководство по Pylons.
 +* [http://wiki.python.su/%D0%9A%D0%BD%D0%B8%D0%B3%D0%B8/TheDefinitiveGuideToPylons Pylons Book] (рус.) — перевод руководство по Pylons на русский.
* [http://python.su/forum/viewforum.php?id=24 Форум по Pylons] (рус.) — форум по Pylons. * [http://python.su/forum/viewforum.php?id=24 Форум по Pylons] (рус.) — форум по Pylons.

Текущая версия



Данная статья предназначена для технических специалистов.

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

В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга не оказывает консультации по установке и отладке скриптов.



Содержание

[править] Обшие сведения

Pylons - еще один замечательный, легковесный фреймворк написанный на языке Python. На текущий момент прекращена его активная разработка. Что касается его дальнейшего развития, то оно продолжено в рамках проекта Pyramid.
На виртуальном хостинге 1Gb.ru его можно запускать как WSGI приложение. Установка и настройка очень похожа на развертывание Django - быстрый старт (поддерживаемая версия) и не представляет особого труда.

[править] Подготовка окружения

1. В личном кабинете, в разделе Услуги хостинга HTTP служб включите поддержку Django/WSGI для сайта:

Django - добавление службы
Django - добавление службы

2. Зайдите на сервер по SSH и запустите команду:

$ /opt/hostpublic/sbin/1gb_virtenv_install.sh

2.1. Укажите нужную версию Python (по умолчанию ставится stable версия из ветки 3.5):

Install latest Python 2.x or 3.x release (choices: 2, 3, 3.2, 3.3, 3.4) [default 3]:

Список поддерживаемых версий Python можно посмотреть тут http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/install.html

Установка занимает несколько минут.

2.2. Далее команда спросит имя папки куда будет установлен пакет virtualenv. Этот параметр не принципиален, поэтому можно оставить значение по умолчанию или задать любое другое имя, например, pyramid-env и нажать ENTER

Enter the name of new virtual environment you want to create [default: django-env]:

Результатом работы команды 1gb_virtenv_install.sh будет установленный в папку ~/local Python и пакет virtualenv, а также виртуальное окружение из которого будет запускаться Pyramid.

3. Все последующие команды будут выполняться из виртуального окружения. Для активации окружения выполните команду:

$ source ~/.bashrc
$ v_activate

4. Устанавливаем web-сервер

(pyramid-env) $ pip install gunicorn; pip install futures


[править] Настройка приложения

1. Устанавливаем фреймворк:

(pyramid-env) $ pip install pyramid

2. Создаем новый проект:

(pyramid-env) $ pcreate -s starter MyProject

3. Добавьте имя проекта в конфигурационный файл:

(pyramid-env) $ echo PYRAMID_PROJECT=MyProject > ~/.pyramidrc

4. И инсталляция проекта в виртуальное окружение:

(pyramid-env) $ cd ~/MyProject && pip install -e .

5. Запросы содержащие в URL путь static не проксируются в gunicorn, и обрабатываются непосредственно Apache из каталога ~/http/static, поэтому делаем соответствующий симлинк:

(pyramid-env) $ cd ~/http && ln -sv ../MyProject/имя_приложения/static

6. Установка завершена, запуск приложения:

(pyramid-env) ~/init.d/wsgi-app start

Демо версию Pyramid, установленного на хостинге 1Gb.ru, можно посмотреть по этому адресу http://test-l34-pyramid.1gb.ru/

[править] См. также

[править] Ссылки

Личные инструменты