如何在Webfaction上部署Flask应用程序?

esa*_*ito 11 python flask

有人知道如何在Webfaction上部署一个简单的Flask应用程序吗?我知道Webfaction支持mod_wsgi并且我阅读了Flask网站上的指南,但我仍然无法使我的应用程序正常工作.有人有工作配置吗?

更新回答Graham Dumpleton的评论.

我收到500内部服务器错误.Apache在日志中不显示任何错误.WSGI脚本已执行,似乎正确创建了应用程序,但我一直收到500错误.

谢谢.

rab*_*ben 16

我使用以下过程:

  • 创建名为'myapp'的应用程序,类型为mod_wsgi 3.3/Python 2.7.Webfaction将创建以下文件夹:

    myapp
         |- apache2
         |- htdocs
    
    Run Code Online (Sandbox Code Playgroud)
  • Webfaction还将自动index.py在您的htdocs目录中创建一个简单的脚本.检查示例脚本是否可以访问新创建的应用程序的根目录(要在Webfaction上进行精简,您需要在网站上"安装"该应用程序).如果一切正常,请修改删除内容的脚本并添加:

    from myapp import app as application
    
    Run Code Online (Sandbox Code Playgroud)
  • apache2/conf/httpd.conf添加follwing线:

    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>
    
    Run Code Online (Sandbox Code Playgroud)
  • 重启apache2

  • 请注意,myapp.py必须位于python模块搜索路径中.您可以通过将以下代码添加到index.py(如果myapp.py存储在index.py旁边)来执行此操作:`import sys sys.path.append('/ home/<yourusername>/webapps/<yourappname >/htdocs中)` (7认同)