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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 19:22, 15 ноября 2016 (править)
Renton (Обсуждение | вклад)
(Подготовка окружения)
← К предыдущему изменению
Версия 19:29, 15 ноября 2016 (править) (отменить)
Renton (Обсуждение | вклад)
(Установка библиотек)
К следующему изменению →
Строка 42: Строка 42:
(pyramid-env) $ pip install gunicorn; pip install futures (pyramid-env) $ pip install gunicorn; pip install futures
-== Установка библиотек==+ 
-'''1.''' Устанавливаем Pylons:+
- $ easy_install Pylons+
-'''2.''' Устанавливаем модуль flup, для работы Pylons в FastCGI режиме:+
- $ easy_install flup+
-если установка заканчивается так:+
- error: None+
-то устанавливаем flup по прямой ссылке:+
- $ easy_install <nowiki>"http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz#md5=24dad7edc5ada31dddd49456ee8d5254"</nowiki>+
== Настройка приложения == == Настройка приложения ==

Версия 19:29, 15 ноября 2016



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

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

В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки 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. Создаем структуру приложения:

$ cd ~/pylons && paster create -t pylons my_project

2. Создаем файл диспетчера index.fcgi в каталоге ~/http :

$ cat > ~/http/index.fcgi <<END
#!/usr/bin/${PYTHON_VERSION}

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/${PYTHON_VERSION}/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/$(whoami)/pylons/my_project')

app = loadapp('config:/home/virtwww/$(whoami)/pylons/my_project/test.ini')
server = WSGIServer(app)
server.run()
END

3. Файл .htaccess, также в каталоге ~/http :

$ cat > ~/http/.htaccess <<"END"
Options +FollowSymlinks

AddHandler fcgid-script .fcgi

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]
END

5. Выставляем права на выполнение:

$ chmod 755 ~/http/index.fcgi; rm -v ~/http/index.html

4. Установка завершена, если все сделано правильно, то при запросе своего сайта появится тестовая страница приложения.
Демо версию Pylons, установленного на хостинге 1Gb.ru, можно посмотреть по этому адресу http://test-l11-pylons.1gb.ru/

См. также

Ссылки

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