Как развернуть приложение Flask на Webfaction? - PullRequest
11 голосов
/ 19 июля 2010

Кто-нибудь знает, как развернуть простое приложение Flask в Webfaction? Я знаю поддержку webfaction mod_wsgi и читаю руководство на сайте Flask, но все же не могу заставить свое приложение работать. У кого-нибудь есть рабочая конфигурация?

ОБНОВЛЕНИЕ , чтобы ответить на комментарий Грэма Дамплтона.

Я получаю 500 Внутренняя ошибка сервера. Apache не показывает ошибок в журналах. Сценарий WSGI выполняется и, кажется, правильно создает приложение, но я получаю ошибку 500.

Спасибо.

Ответы [ 2 ]

16 голосов
/ 07 июня 2011

Я получил его, работая со следующей процедурой:

  • создать и приложение с именем 'myapp' типа mod_wsgi 3.3 / Python 2.7.Webfaction создаст следующие папки:

    myapp
         |- apache2
         |- htdocs
    
  • Webfaction также автоматически создаст простой скрипт index.py в вашем каталоге htdocs.Проверьте, работает ли образец сценария, посещая корень вновь созданного приложения (для тонкой настройки на Webfaction вам необходимо «смонтировать» приложение на веб-сайте).Если все в порядке, измените скрипт, удалив содержимое и добавив:

    from myapp import app as application
    
  • В apache2/conf/httpd.conf добавьте следующие строки:

    WSGIPythonPath /home/username/webapps/myapp/htdocs/
    #If you do not specify the next directive the app *will* work but you will
    #see index.py in the path of all subdir
    WSGIScriptAlias / /home/username/webapps/myapp/htdocs/index.py
    
    
    <Directory /home/username/webapps/myapp/htdocs>
        AddHandler wsgi-script .py
        RewriteEngine on
        RewriteBase /
        WSGIScriptReloading On
    </Directory>
    
  • Перезапустить apache2

1 голос
/ 26 октября 2010

Вам необходимо настроить приложение «Пользовательское приложение (прослушивание через порт)». Запишите номер порта, который назначен. Затем в вашем коде Flask вам нужно указать код порта:

if __name__ == __main__:
    app.run(host='0.0.0.0' port=XXXXXXX)

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

Надеюсь, это поможет.

EDIT:

Пожалуйста, используйте Ответ Рабена , этот способ не должен использоваться в производстве.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...