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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 17:41, 15 ноября 2016 (править)
Renton (Обсуждение | вклад)
(Обшие сведения)
← К предыдущему изменению
Версия 19:20, 15 ноября 2016 (править) (отменить)
Renton (Обсуждение | вклад)
(Подготовка окружения)
К следующему изменению →
Строка 19: Строка 19:
== Подготовка окружения == == Подготовка окружения ==
-Данный этап установки ничем не отличается от инструкции по установке Django (Pylons также работает только со 2-ой веткой python), поэтому обратитесь к статье [http://www.1gb.ru/wiki/index.php?title=Django_-_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82#.D0.9F.D0.BE.D0.B4.D0.B3.D0.BE.D1.82.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BE.D0.BA.D1.80.D1.83.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F Django#Подготовка окружения] и выполните пункты 1 - 7, '''за исключением пункта 2'''.+'''1.''' В личном кабинете, в разделе [https://www.1gb.ru/c/httpdaemon Услуги хостинга HTTP служб] включите поддержку Django/WSGI для сайта:
-Вместо пункта 2 из инструкции "установка Django" выполните такую команду:+[[Изображение:Django-new-1.jpg|600px|thumb|left|Django - добавление службы]]<br clear="both" />
- $ mkdir -p ~/src ~/python/bin ~/python/lib64/${PYTHON_VERSION}/site-packages ~/pylons+ 
 +'''2.''' Зайдите на сервер по [http://www.1gb.ru/putty 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
 + 
 +Установка занимает несколько минут.<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-сервер
 + (django-env) $ pip install gunicorn; pip install futures
== Установка библиотек== == Установка библиотек==

Версия 19:20, 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-сервер

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

Установка библиотек

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/

См. также

Ссылки

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