Pylons - быстрый старт
Материал из 1GbWiki.
Версия 09:58, 10 февраля 2013 (править) Renton (Обсуждение | вклад) (→Установка библиотек) ← К предыдущему изменению |
Версия 10:09, 10 февраля 2013 (править) (отменить) Renton (Обсуждение | вклад) (→Настройка приложения) К следующему изменению → |
||
Строка 34: | Строка 34: | ||
== Настройка приложения == | == Настройка приложения == | ||
- | + | '''1.''' Создаем структуру приложения: | |
cd ~/pylons && paster create -t pylons my_project | cd ~/pylons && paster create -t pylons my_project | ||
- | + | '''2.''' Создаем файл диспетчера index.fcgi в каталоге <code>~/http</code> : | |
- | #!/usr/bin/ | + | $ cat > ~/http/index.fcgi <<END |
+ | #!/usr/bin/${PYTHON_VERSION} -OO | ||
import sys, os, site, pkg_resources | import sys, os, site, pkg_resources | ||
Строка 44: | Строка 45: | ||
# Add a custom Python path. | # Add a custom Python path. | ||
PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \ | PYTHON_CUSTOM_PATH = os.path.abspath (os.path.join (os.path.dirname (os.path.abspath (__file__)), \ | ||
- | '../python/lib64/ | + | '../python/lib64/${PYTHON_VERSION}/site-packages')) |
sys.path.insert (0, PYTHON_CUSTOM_PATH) | sys.path.insert (0, PYTHON_CUSTOM_PATH) | ||
site.addsitedir (PYTHON_CUSTOM_PATH) | site.addsitedir (PYTHON_CUSTOM_PATH) | ||
+ | |||
pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH) | pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH) | ||
Строка 53: | Строка 55: | ||
'../pylons')) | '../pylons')) | ||
sys.path.insert (0, PYTHON_CUSTOM_PATH) | sys.path.insert (0, PYTHON_CUSTOM_PATH) | ||
+ | |||
pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH) | pkg_resources.working_set.add_entry (PYTHON_CUSTOM_PATH) | ||
Строка 58: | Строка 61: | ||
from flup.server.fcgi import WSGIServer | from flup.server.fcgi import WSGIServer | ||
- | pkg_resources.working_set.add_entry('/home/virtwww/ | + | pkg_resources.working_set.add_entry('/home/virtwww/$(whoami)/pylons/my_project') |
- | app = loadapp('config:/home/virtwww/ | + | app = loadapp('config:/home/virtwww/$(whoami)/pylons/my_project/test.ini') |
server = WSGIServer(app) | server = WSGIServer(app) | ||
server.run() | server.run() | ||
+ | END | ||
- | + | '''3.''' Файл <code>.htaccess</code>, также в каталоге <code>~/http</code> : | |
+ | $ cat > ~/http/.htaccess <<END | ||
Options +FollowSymlinks | Options +FollowSymlinks | ||
Строка 72: | Строка 77: | ||
RewriteCond %{REQUEST_FILENAME} !-f | RewriteCond %{REQUEST_FILENAME} !-f | ||
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L] | RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L] | ||
+ | END | ||
+ | |||
+ | '''5.''' Выставляем права на выполнение: | ||
+ | $ chmod 755 ~/http/index.fcgi; rm -v ~/http/index.html | ||
- | + | '''4.''' Установка завершена, если все сделано правильно, то при запросе своего сайта появится тестовая страница приложения.<br /> | |
+ | Демо версию Pylons, установленного на хостинге 1Gb.ru, можно посмотреть по этому адресу http://test-l11-pylons.1gb.ru/ | ||
== См. также == | == См. также == |
Версия 10:09, 10 февраля 2013
Данная статья предназначена для технических специалистов. Вы должны знать основы программирования, уметь пользоваться консольными программами и официальной документацией от разработчиков. В связи с тем, что на сервере могут обновиться версии программ, измениться конфигурация приложений, документация в статье может не соответствовать действительности, поэтому вы должны быть готовы разобраться с возможными проблемами самостоятельно или с помощью специалистов из платной поддержки http://1gbsup.ru/paidsu/, обычная поддержка хостинга не оказывает консультации по установке и отладке скриптов. |
Содержание |
Обшие сведения
Pylons - еще один замечательный, легковесный фреймворк написанный на языке Python. На текущий момент прекращена его активная разработка. Что касается его дальнейшего развития, то оно продолжено в рамках проекта Pyramid.
На виртуальном хостинге 1Gb.ru его можно запускать как FastCGI приложение. Установка и настройка очень похожа на развертывание Django и не представляет особого труда.
Подготовка окружения
Данный этап установки ничем не отличается от инструкции по установке Django, поэтому обратитесь к статье 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} -OO 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/
См. также
Ссылки
- Pylons Project home page (англ.) — страница проекта Pylons.
- Pylons Book (англ.) — подробное руководство по Pylons.
- Pylons Book (рус.) — перевод руководство по Pylons на русский.
- Форум по Pylons (рус.) — форум по Pylons.