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
-* Создаем файл диспетчера index.fcgi FastCGI в каталоге <code>~/http</code> с таким содержимым:+'''2.''' Создаем файл диспетчера index.fcgi в каталоге <code>~/http</code> :
- #!/usr/bin/python+ $ 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' + sys.version[:3] + '/site-packages'))+ '../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/имя_пользователя/pylons/my_project')+ pkg_resources.working_set.add_entry('/home/virtwww/$(whoami)/pylons/my_project')
- app = loadapp('config:/home/virtwww/имя_пользователя/pylons/my_project/test.ini')+ app = loadapp('config:/home/virtwww/$(whoami)/pylons/my_project/test.ini')
server = WSGIServer(app) server = WSGIServer(app)
server.run() server.run()
 + END
-* Файл <code>.htaccess</code>, также в каталоге <code>~/http</code>+'''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
-* Если все сделано правильно, то при запросе своего сайта появится демо-страница: http://test-l11-pylons.1gb.ru/+'''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/

См. также

Ссылки

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