【问题标题】:Windows Azure Web sites pythonWindows Azure 网站 python
【发布时间】:2013-02-16 03:12:25
【问题描述】:

经过大量的努力,我最终在 Windows Azure 上运行了一个 hello world flask 应用程序,该应用程序在本地构建并且运行良好,但将其部署到 Azure 是一场噩梦。所以我在这里有两个问题。

我似乎根本无法获得堆栈跟踪,我尝试在 web.config 中进行设置,但是关于如何使用所有这些东西的文档只是令人遗憾,我能找到的只是字面上写得不好博客文章散布在微软数百万博客中的一个。这甚至不能帮助我解决我的问题。

第二个问题与第一个问题有关,由于一些可怕的调试方法(将我的应用程序拆开并注释掉)我觉得这可能是 pymongo 造成的,我在没有 C 扩展的情况下构建它并且它在我的站点包,它可以在我的本地机器上运行。但是,如果没有堆栈跟踪,我只是不知道如何解决这个问题而不想把头发拉出来。

任何人都可以对此有所了解吗?真的令人失望,因为 azure 的其余部分还不错,那里有更好的网站托管替代方案,例如 heroku,实际上是 10 个命令设置。到目前为止,我一直在为此工作..

【问题讨论】:

  • 对于那些遇到类似问题并来这里获取更多信息的人 - 我们正在努力通过一键部署到 Azure 来支持 Flask 和 Bottle Web 应用程序(并为您提供足够的基础架构以轻松连接PTVS 2.1 中的任何其他框架)。当前的开发版本已经包含此功能。包含的 web.config 也可以用作您自己的自定义部署的模板。

标签: python azure flask pymongo azure-web-app-service


【解决方案1】:

已解决

对于那些感兴趣的人,我最终解决了这个问题,我手动将错误处理添加到我的烧瓶应用程序中,完全绕过了 IIS 设置和 Windows azure 配置 - 太复杂了,根本没有文档。

from werkzeug.debug import get_current_traceback   

@app.errorhandler(500)
def internal_server_error(e):
    base = os.path.dirname(os.path.abspath(__file__))
    f = open('%s/logs/error.log' % (base), 'a')
    track = get_current_traceback(skip=1, show_hidden_frames=True, ignore_system_exceptions=False)
    track.log(f)
    f.close()

    return 'An error has occured', 500

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多