Как использовать приложение Flask в Webfaction?
Кто-нибудь знает, как развернуть простое приложение Flask на Webfaction?
Я знаю, что Webfaction поддерживает mod_wsgi, и я читаю руководство на сайте Flask, но все же я не могу заставить свое приложение работать. У кого-нибудь есть рабочая конфигурация?
UPDATE, чтобы ответить на комментарий Грэма Дамплтона.
Я получаю ошибку внутреннего сервера 500. Apache не обнаруживает ошибок в журналах. WSGI script выполняется и, кажется, правильно создает приложение, но я все равно получаю ошибку 500.
Спасибо.
Ответы
Ответ 1
Я начал работать со следующей процедурой:
-
создать и приложение с именем 'myapp' типа mod_wsgi 3.3/Python 2.7. Webfaction создаст следующие папки:
myapp
|- apache2
|- htdocs
-
Webfaction также автоматически создаст простой script index.py
в вашем каталоге htdocs
. Проверьте, работает ли образец script в корне вашего вновь созданного приложения (чтобы сделать тонким на Webfaction, вам нужно "установить" приложение на веб-сайт). Если все ОК изменит script удаление содержимого и добавит:
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
Ответ 2
Вам нужно настроить приложение "Пользовательское приложение (прослушивание порта)". Запишите порт, который назначен. Затем в вашем флеш-коде вам нужно поместить hardcode в порт:
if __name__ == __main__:
app.run(host='0.0.0.0' port=XXXXXXX)
Если вы замените XXXXXXX портом, который произвольно назначен вашему пользовательскому приложению.
Надеюсь, что это поможет.
EDIT:
Пожалуйста, используйте Raben Answer, этот способ не должен использоваться в Production.