Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб сервер
  • Search

mod_wsgi

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
41 posts
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next
moskrc
Posts: 9
Joined: Mon Jul 15, 2013 7:06 am

mod_wsgi
  • Quote

Post by moskrc » Mon Jul 15, 2013 8:15 am

Добрый день!

Сперва спасибо огромное за работу. Это просто отличная панель, вчера нашел, сегодня пробую настраивать.

Хочу задать вопрос по поддержке 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]
там же создаю файл django.wsgi вот что то вроде такого:

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?

Спасибо
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: mod_wsgi
  • Quote

Post by skid » Mon Jul 15, 2013 1:04 pm

Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Top

moskrc
Posts: 9
Joined: Mon Jul 15, 2013 7:06 am

Re: mod_wsgi
  • Quote

Post by moskrc » Mon Jul 15, 2013 1:49 pm

skid wrote:Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Буду вам очень благодарен! Спасибо!
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: mod_wsgi
  • Quote

Post by skid » Tue Jul 16, 2013 9:08 am

Инструкция по установке.

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
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, в выпадающем списке. Нужно будет отметить галочками конкретных пользователей или всех.
Top

moskrc
Posts: 9
Joined: Mon Jul 15, 2013 7:06 am

Re: mod_wsgi
  • Quote

Post by moskrc » Tue Jul 16, 2013 5:16 pm

Спасибо вам огромное! Буду пробовать.

P.S. После двух дней ознакомления - панель просто мечта!
Top

pop_akaki
Posts: 10
Joined: Thu Jul 25, 2013 9:54 am

Re: mod_wsgi
  • Quote

Post by pop_akaki » Thu Jul 25, 2013 10:03 am

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()


при открытии сайта

в чем может быть проблема?
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: mod_wsgi
  • Quote

Post by skid » Thu Jul 25, 2013 12:18 pm

Пакет mod_wsgi установлен? Если нет, то запустите

Code: Select all

 yum install mod_wsgi
Top

pop_akaki
Posts: 10
Joined: Thu Jul 25, 2013 9:54 am

Re: mod_wsgi
  • Quote

Post by pop_akaki » Fri Jul 26, 2013 1:24 am

Спасибо, все заработало...
Top

mgm
Posts: 1
Joined: Wed Oct 23, 2013 5:44 am

Re: mod_wsgi
  • Quote

Post by mgm » Wed Oct 23, 2013 10:41 am

skid wrote: 2) Укажите шаблон wsgi в пакете default или создайте новый
Пробую настроить vesta для работы с django под ubuntu, скачал файлы шаблона по инструкции, в пакетах шаблон wsgi не отображается.
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: mod_wsgi
  • Quote

Post by skid » Wed Oct 23, 2013 5:59 pm

Инструкция для 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
Top


Post Reply
  • Print view

41 posts
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next

Return to “Веб сервер”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password