mod_wsgi
mod_wsgi
Добрый день!
Сперва спасибо огромное за работу. Это просто отличная панель, вчера нашел, сегодня пробую настраивать.
Хочу задать вопрос по поддержке mod_wsgi.
Занимаюсь разработкой на Django/Python и хочу использовать вашу панель чтобы быстро добавить/удалять/активировать/деактивировать сайты.
Помогите пожалуйста советом куда смотреть, что делать или может я могу сам дописать такой модуль.
Смотрите...
Каждый раз когда я добавляю новый Django сайт я делаю следующее.
1. Создаю пользователя.
2. Захожу под ним.
3. Создаю директории для проекта в директории private которую создает VESTA (private/django/НАЗВАНИЕДОМЕНА)
4. В ней создаю виртуальное окружение virtualenv --no-site-packages env
5. Заливаю сюда же исходники сайта, устанавливаю в это виртуальное окружение все что нужно для его работы.
6. Иду в public_html, там пишу .htaccess следующего содержания:
там же создаю файл django.wsgi вот что то вроде такого:
Затем правлю конфиг апача:
Затем перезапускаю апач и пробую открыть сайт. Вот собственно и все.
Подскажите как я могу это дело автоматизировать?
Планируется ли поддержка проектов на wsgi в Vesta?
Спасибо
Сперва спасибо огромное за работу. Это просто отличная панель, вчера нашел, сегодня пробую настраивать.
Хочу задать вопрос по поддержке mod_wsgi.
Занимаюсь разработкой на Django/Python и хочу использовать вашу панель чтобы быстро добавить/удалять/активировать/деактивировать сайты.
Помогите пожалуйста советом куда смотреть, что делать или может я могу сам дописать такой модуль.
Смотрите...
Каждый раз когда я добавляю новый Django сайт я делаю следующее.
1. Создаю пользователя.
2. Захожу под ним.
3. Создаю директории для проекта в директории private которую создает VESTA (private/django/НАЗВАНИЕДОМЕНА)
4. В ней создаю виртуальное окружение virtualenv --no-site-packages env
5. Заливаю сюда же исходники сайта, устанавливаю в это виртуальное окружение все что нужно для его работы.
6. Иду в public_html, там пишу .htaccess следующего содержания:
Code: Select all
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.ДОМЕН\.ru$ [NC]
RewriteRule ^(.*)$ http://ДОМЕН.ru/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
Code: Select all
import os, sys
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/project/src/shared/')
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Code: Select all
<VirtualHost x.x.x.x:81>
....
....
....
добавляю в конец секции вот это
WSGIDaemonProcess apx-idea user=max_dax group=max_dax processes=1 threads=5 display-name=%{GROUP} python-path=/home/USER/web/ДОМЕН/private/django/ДОМЕН/env/lib/python2.6/site-packages
WSGIProcessGroup apx-idea
WSGIApplicationGroup %{GLOBAL}
<Directory /home/USER/web/ДОМЕН/public_html>
AllowOverride FileInfo
Options ExecCGI Indexes
MultiviewsMatch Handlers
Options +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Подскажите как я могу это дело автоматизировать?
Планируется ли поддержка проектов на wsgi в Vesta?
Спасибо
Re: mod_wsgi
Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Re: mod_wsgi
Буду вам очень благодарен! Спасибо!skid wrote:Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Re: mod_wsgi
Инструкция по установке.
1) Загрузите на сервер шаблон wsgi
2) Укажите шаблон wsgi в пакете default или создайте новый
3) Добавьте пользователя
4) Затем добавьте ему домен
5) Проверяйте результат.
Eсли, что-то не так, отредактируйте файлы шаблонов:
/usr/local/vesta/data/templates/web/httpd/wsgi.stpl
/usr/local/vesta/data/templates/web/httpd/wsgi.tpl
Для создания обычных доменов используется файл с раширением .tpl, а для доменов с поддержкой SSL сертификатов, используется файл stp.
Дополнительный функционал реализован триггером /usr/local/vesta/data/templates/web/httpd/wsgi.sh, тудаже можно добавить копирование файлов джанги. Это уже по желанию. Надеюсь концепция понятна.
После изменения шаблона, необходимо пересоздать конфигурацию вебсервера. Из консоли можно запустить v-rebuild-web-domains $user. В веб-интерфейсе, функция rebuild доступна в меню user, в выпадающем списке. Нужно будет отметить галочками конкретных пользователей или всех.
1) Загрузите на сервер шаблон wsgi
Code: Select all
cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/rhel/wsgi/httpd.tar.gz
tar -xzvf httpd.tar.gz
3) Добавьте пользователя
4) Затем добавьте ему домен
5) Проверяйте результат.
Eсли, что-то не так, отредактируйте файлы шаблонов:
/usr/local/vesta/data/templates/web/httpd/wsgi.stpl
/usr/local/vesta/data/templates/web/httpd/wsgi.tpl
Для создания обычных доменов используется файл с раширением .tpl, а для доменов с поддержкой SSL сертификатов, используется файл stp.
Дополнительный функционал реализован триггером /usr/local/vesta/data/templates/web/httpd/wsgi.sh, тудаже можно добавить копирование файлов джанги. Это уже по желанию. Надеюсь концепция понятна.
После изменения шаблона, необходимо пересоздать конфигурацию вебсервера. Из консоли можно запустить v-rebuild-web-domains $user. В веб-интерфейсе, функция rebuild доступна в меню user, в выпадающем списке. Нужно будет отметить галочками конкретных пользователей или всех.
Re: mod_wsgi
Спасибо вам огромное! Буду пробовать.
P.S. После двух дней ознакомления - панель просто мечта!
P.S. После двух дней ознакомления - панель просто мечта!
Re: mod_wsgi
import os, sys
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/shared/')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
при открытии сайта
в чем может быть проблема?
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/shared/')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
при открытии сайта
в чем может быть проблема?
Re: mod_wsgi
Пакет mod_wsgi установлен? Если нет, то запустите
Code: Select all
yum install mod_wsgi
Re: mod_wsgi
Пробую настроить vesta для работы с django под ubuntu, скачал файлы шаблона по инструкции, в пакетах шаблон wsgi не отображается.skid wrote: 2) Укажите шаблон wsgi в пакете default или создайте новый
Re: mod_wsgi
Инструкция для Ubuntu немного другая
Code: Select all
apt-get install libapache2-mod-wsgi
a2enmod wsgi
cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/ubuntu/wsgi/apache2.tar.gz
tar -xzvf apache2.tar.gz