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

Как правильно сконфигурировать приложение bottle (bottle framework) на vestacp wsgi? Topic is solved

Вопросы по работе Веб сервера
Apache + Nginx, Nginx + PHP5-FPM
Post Reply
  • Print view
Advanced search
3 posts • Page 1 of 1
skorpions2000
Posts: 7
Joined: Sat Jan 02, 2021 7:03 pm

Os: Debian 8x
Web: apache + nginx
Как правильно сконфигурировать приложение bottle (bottle framework) на vestacp wsgi?
  • Quote

Post by skorpions2000 » Sat Jan 02, 2021 7:10 pm

Пытаюсь развернуть приложение bottle с помощью панели vestacp. Постоянно получаю ошибку 500 и, судя по всему, это из-за неправильной настройки сервера. Я пробовал различные варианты настройки, но всегда присутствовала неудача.
Я имею три файла конфигурации:
- wsgi.sh (для этого файла я не нашел информации о конфигурации, судя по всему он не правильно сконфигурирован, для django по умолчанию)

Code: Select all

#!/bin/bash
# Adding php wrapper
user="$1"
domain="$2"
ip="$3"
home_dir="$4"
docroot="$5"

echo "# Wsgi template
AddHandler wsgi-script .wsgi

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.$2\.ru\$ [NC]
RewriteRule ^(.*)\$ http://$2/\$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\$ /django.wsgi/\$1 [QSA,PT,L]
" > $docroot/.htaccess
chown $user:$user $docroot/.htaccess


echo "import os, sys
sys.path.insert(0, '$home_dir/$user/web/$domain/private/django/$domain/env/lib/python2.6/site-packages')
sys.path.insert(0, '$home_dir/$user/web/$domain/private/django/$domain/project/src/shared/')
sys.path.insert(0, '$home_dir/$user/web/$domain/private/django/$domain/project/src/')

os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()" > $docroot/django.wsgi
chown $user:$user $docroot/django.wsgi

exit 0

- wsgi.stpl (этот файл я пытался править но не увинчалось успехом)

Code: Select all

    <VirtualHost %ip%:%web_ssl_port%>

    ServerName %domain_idn%
    %alias_string%
    ServerAdmin %email%
    DocumentRoot %sdocroot%
    ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
    Alias /vstats/ %home%/%user%/web/%domain%/stats/
    Alias /error/ %home%/%user%/web/%domain%/document_errors/
    SuexecUserGroup %user% %group%
    CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
    CustomLog /var/log/%web_system%/domains/%domain%.log combined
    ErrorLog /var/log/%web_system%/domains/%domain%.error.log
    <Directory %home%/%user%/web/%domain%/stats>
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile %ssl_crt%
    SSLCertificateKeyFile %ssl_key%
    %ssl_ca_str%SSLCertificateChainFile %ssl_ca%

    <IfModule mod_ruid2.c>
        RMode config
        RUidGid %user% %group%
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID %user% %group%
    </IfModule>
    <IfModule mod_wsgi.c>
        WSGIDaemonProcess apx-s$domain% user=%user% group=%user% processes=1 threads=5 display-name=%{GROUP} python-path=%home%/%user%/web/%domain%$        
WSGIProcessGroup apx-idea
        WSGIApplicationGroup %{GLOBAL}
    </IfModule>

    <Directory %sdocroot%>
        AllowOverride FileInfo
        Options ExecCGI Indexes
        MultiviewsMatch Handlers
        Options +FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>

    IncludeOptional %home%/%user%/conf/web/s%web_system%.%domain%.conf*

</VirtualHost>

- wsgi.tpl

Code: Select all

<VirtualHost %ip%:%web_port%>

    ServerName %domain_idn%
    %alias_string%
    ServerAdmin %email%
    DocumentRoot %docroot%
    ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
    Alias /vstats/ %home%/%user%/web/%domain%/stats/
    Alias /error/ %home%/%user%/web/%domain%/document_errors/
    SuexecUserGroup %user% %group%
    CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes
    CustomLog /var/log/%web_system%/domains/%domain%.log combined
    ErrorLog /var/log/%web_system%/domains/%domain%.error.log
    <Directory %home%/%user%/web/%domain%/stats>
        AllowOverride All
    </Directory>

    <IfModule mod_ruid2.c>
        RMode config
        RUidGid %user% %group%
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID %user% %group%
    </IfModule>
    <Directory %docroot%>
        AllowOverride FileInfo
        Options ExecCGI Indexes
        MultiviewsMatch Handlers
        Options +FollowSymLinks
        Order allow,deny
        Allow from all
    </Directory>

    Include %home%/%user%/conf/web/%web_system%.%domain%.conf*

</VirtualHost>
файл запуска приложения (wsgi.py) выглядит так:

Code: Select all

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import bottle
import os
import sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)))
os.chdir(os.path.dirname(os.path.abspath(__file__)))

"""С этого файла запускается программа"""
application = bottle.default_app()
Ожидается что настройка конфигурации приведет к сообщению о том что нет определенной директории "/", а не к ошибки 500.
Error: 404 Not Found
Sorry, the requested URL 'https://some.url/' caused an error:

Not found: '/'

Сервер работает на debian 9, vestacp установлена последняя версия на момент написания вопроса.
Использовал эту инструкцию для настройки wsgi_mod
viewtopic.php?t=10867
Top

grayfolk
Support team
Posts: 1111
Joined: Tue Jul 30, 2013 10:18 pm
Contact:
Contact grayfolk
Website Facebook Skype Twitter

Os: CentOS 6x
Web: nginx + php-fpm
Re: Как правильно сконфигурировать приложение bottle (bottle framework) на vestacp wsgi?
  • Quote

Post by grayfolk » Sun Jan 03, 2021 9:38 am

Если у вас, как указано в профиле, используется nginx+apache - то зачем вы апач трогаете? Наружу смотрит только nginx.
В принципе, настройка любых нестандартных приложений (nodejs, ruby, python etc.) выглядит так:
1. Поднимаем приложение на недоступном извне порту
2. Проксируем запросы на него
3. Готово
Top

skorpions2000
Posts: 7
Joined: Sat Jan 02, 2021 7:03 pm

Os: Debian 8x
Web: apache + nginx
Re: Как правильно сконфигурировать приложение bottle (bottle framework) на vestacp wsgi?
  • Quote

Post by skorpions2000 » Sun Jan 03, 2021 6:42 pm

Получилось запустить это все дело вот по этой инструкции
viewtopic.php?t=18352#p76197
Top


Post Reply
  • Print view

3 posts • Page 1 of 1

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