如何在Webfaction上部署Flask应用程序?
任何人都知道如何在Webfaction上部署一个简单的Flask应用程序? 我知道Webfaction支持mod_wsgi,我阅读了Flask站点上的指南,但仍然无法让我的应用程序工作。任何人都有一个工作配置?如何在Webfaction上部署Flask应用程序?
UPDATE回答Graham Dumpleton的评论。
我得到一个500内部服务器错误。 Apache在日志中不显示任何错误。 WSGI脚本被执行并似乎正确地创建应用程序,但是我一直收到500错误。
谢谢。
我得到它通过以下步骤工作:
-
创建和应用类型的名为 'MYAPP' mod_wsgi的3.3/Python 2.7版。 Webfaction将创建下列文件夹:
myapp |- apache2 |- htdocs
-
Webfaction也会自动在您的
htdocs
目录下创建一个简单的脚本index.py
。检查示例脚本是否工作访问新创建的应用程序的根目录(在Webfaction上进行细化,您需要在网站上“挂载”应用程序)。如果它都可以修改脚本删除内容并添加:from myapp import app as application
-
在
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>
重新启动的Apache2
请注意,myapp.py必须位于python模块搜索路径中。您可以简单地通过将以下代码添加到index.py来实现该目的(如果myapp.py存储在index旁边。py): 'import sys sys.path.append('/ home/
其实,没有调整'sys.path',我得到了500个内部错误通过'/ home//logs/user/error_
您需要设置“自定义应用程序(侦听端口)”应用程序。记下分配的端口。然后在你的代码瓶,你需要把硬编码的端口:
if __name__ == __main__:
app.run(host='0.0.0.0' port=XXXXXXX)
如果你替换XXXXXXX与被随机分配到您的自定义应用程序的端口。
希望有所帮助。
编辑:
请使用Raben's Answer,这种方式不应被用于生产。
什么是实际的错误你越来越多了? – 2010-07-19 01:47:55
尝试开启Flask中的调试。我忘了如何做到这一点,所以你可能想问#pocco irc频道。如果你在一个进程中使用mod_wsgi守护进程模式,你也可以打开Flask调试器。 – 2010-07-19 11:35:14
你有没有得到这个工作? JoshFinnie的答案是否适合你? – 2011-02-21 02:15:06