Настройка WSGI

Материал из DiPHOST.Ru wiki system

(Различия между версиями)
Перейти к: навигация, поиск
(Настройка приложения)
(Настройка приложения)
 
Строка 23: Строка 23:
application = my_wsgi_application
application = my_wsgi_application
</source>
</source>
-
Обращения к приложению должны происходить по URL '''' <nowiki>http://<один из доменов сайта>/webapp/*</nowiki> '''' Содержимое же корня сайта как и в обычных сайтах по прежнему расположено в каталоге ''/home/<ваш логин>/www/site<номер сайта>/public_html/'' на сервере. Если требуются другие пути - измените их при помощи Rewrite-правил в файле .htaccess ([http://httpd.apache.org/docs/2.2/rewrite/ документация на сайте веб-сервера apache]) Например, для того чтобы обращения к сайту от корня обрабатывались wsgi-приложением, положите в каталог ''/home/<ваш логин>/www/site<номер сайта>/public_html/'' файл .htaccess со следующим содержанием:
+
Обращения к приложению должны происходить по URL '''''<nowiki>http://<один из доменов сайта>/webapp/*</nowiki>''''' Содержимое же корня сайта как и в обычных сайтах по прежнему расположено в каталоге ''/home/<ваш логин>/www/site<номер сайта>/public_html/'' на сервере. Если требуются другие пути - измените их при помощи Rewrite-правил в файле .htaccess ([http://httpd.apache.org/docs/2.2/rewrite/ документация на сайте веб-сервера apache]) Например, для того чтобы обращения к сайту от корня обрабатывались wsgi-приложением, положите в каталог ''/home/<ваш логин>/www/site<номер сайта>/public_html/'' файл .htaccess со следующим содержанием:
  RewriteEngine On
  RewriteEngine On
  RewriteRule ^(.*)$ /webapp/$1 [L,QSA]
  RewriteRule ^(.*)$ /webapp/$1 [L,QSA]

Текущая версия на 18:29, 3 апреля 2010

Добавление сайта

Для того чтобы запустить WSGI приложение, следует убедиться, что выбранный тариф поддерживает технологию WSGI. На данный момент в ознакомительном режиме WSGI возможно использовать на одном сайте по тарифу PARMA и в нормальном режиме на двух сайтах по тарифу CALMA.

При добавлении сайта в панели управления (Управление сайтами) будет предложено выбрать типа сайта "классический сайт" или "WSGI-сайт". Такой же выбор есть в настройках каждого существующего сайта. Следует выбрать WSGI-сайт. Если лимит специализированных сайтов для тарифного плана не превышен - через несколько минут можно начать работу с WSGI.

File:Messagebox warning.png ВНИМАНИЕ!
WSGI-сайт не поддерживает PHP и CGI. Невозможно использовать PHP, CGI и WSGI в рамках одного сайта.


Настройка приложения

У каждого сайта на сервере есть каталог вида:

/home/<ваш логин>/www/site<номер сайта>/webapp/
Например: /home/pupkin/www/site1/webapp/

В этом каталоге требуется создать файл именуемый webapp.wsgi. Именно он будет описывать Ваше WSGI-приложение. Это должна быть программа на языке программирования Python, содержащий как минимум функцию именуемую application, являющуюся приложением WSGI. Именно эту функцию будет пытаться вызвать наш сервер при запросах. Например:

Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='py' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

(error loading support language list)

Обращения к приложению должны происходить по URL http://<один из доменов сайта>/webapp/* Содержимое же корня сайта как и в обычных сайтах по прежнему расположено в каталоге /home/<ваш логин>/www/site<номер сайта>/public_html/ на сервере. Если требуются другие пути - измените их при помощи Rewrite-правил в файле .htaccess (документация на сайте веб-сервера apache) Например, для того чтобы обращения к сайту от корня обрабатывались wsgi-приложением, положите в каталог /home/<ваш логин>/www/site<номер сайта>/public_html/ файл .htaccess со следующим содержанием:

RewriteEngine On
RewriteRule ^(.*)$ /webapp/$1 [L,QSA]
File:Info blue.png ПРИМИТЕ К СВЕДЕНИЮ:
Если Вы используете локальную установку (в свой домашний каталог НЕ уникальных библиотек (т.е. не разработанных Вами, а публично распространяемых), следует путь к ним добавлять не в конец системного массива как рекомендуют многие руководства:

sys.path.append('путь к библиотеке')
,а в начало его:
sys.path.insert(0,'путь к библиотеке')

Это позволит избежать возможных проблем в том случае, если мы решим поддерживать ту или иную библиотеку штатным образом, но не из той ветки, которая используется вашим приложением.


Обновление приложение

Технологической особенностью нашего хостинга является то, что наш сервер удерживает операционный код приложения в памяти. Для автоматической перезагрузки кода требуется изменить дату модификации файла webapp.wsgi. Например, из shell такой вот командой:

Process '/usr/local/bin/highlight --fragment --style=jedit --syntax='bash' --style-outfile='/home/dipwiki/tmp/highlight.css'' failed to start?

You need to specify a language like this: <source lang="html">...</source>

Supported languages for syntax highlighting:

(error loading support language list)
Источник — «https://wiki.diphost.ru/SetupWSGI»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru