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

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

Перейти к: навигация, поиск



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

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

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



Содержание

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

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

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

Данный этап установки ничем не отличается от инструкции по установке Django (Pylons также работает только со 2-ой веткой python), поэтому обратитесь к статье Django#Подготовка окружения и выполните пункты 1 - 7, за исключением пункта 2. Вместо пункта 2 из инструкции "установка Django" выполните такую команду:

$ mkdir -p ~/src ~/python/bin ~/python/lib64/${PYTHON_VERSION}/site-packages ~/pylons

[править] Установка библиотек

1. Устанавливаем Pylons:

$ easy_install Pylons

2. Устанавливаем модуль flup, для работы Pylons в FastCGI режиме:

$ easy_install flup

если установка заканчивается так:

error: None

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

$ easy_install "http://pypi.python.org/packages/source/f/flup/flup-1.0.2.tar.gz#md5=24dad7edc5ada31dddd49456ee8d5254"

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

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/

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

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

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