python - 在apache上部署flask应用程序工厂

标签 python apache flask mod-wsgi

我没有运气让这个工作。

我的 run.py 文件运行良好,如下所示:

from dpc import create_app

if __name__ == '__main__':
    app = create_app("config.py")

    app.run("0.0.0.0",debug=True,port=666,threaded=True)

我的应用程序工厂在 __init__.py 中看起来像这样:

def create_app(config_filename):
    app = CustomFlask(__name__)
    from dpc import mongo_models
    app.config.from_pyfile(config_filename)
    app.register_blueprint(retrieve, url_prefix="/retrieve")
    return app

我的 wsgi 文件如下所示:

import sys
import os

sys.path.insert(0, 'C:/dpc')

from dpc import create_app
app = create_app("config.py")

我的 httpd.conf 文件有这个:

<VirtualHost *:666>
    ServerName DPC

    WSGIScriptAlias / C:/dpc/dpc/dpc.wsgi

    <Directory C:\dpc >
        Options All
        AllowOverride None
        Require all granted
    </Directory>

</VirtualHost>

我有一个非应用程序工厂 Flask 应用程序在 Apache 上运行良好,并且已经快乐了很多年,但是这个应用程序没有给我任何错误,也没有返回任何内容。在过去的几个小时里,我一直在尝试各种更改并寻找解决方案,但无济于事。有什么想法吗?

最佳答案

您不能在以下位置使用配置文件的相对路径名:

app = create_app("config.py")

它必须是绝对路径。

阅读:

如果您返回空响应或它挂起,也请尝试设置:

WSGIApplicationGroup %{GLOBAL}

阅读:

WSGI 脚本文件中的 WSGI 应用程序入口点也应设置为:

application = create_app("c:/dpc/dpc/config.py")

换句话说,是application,而不是app。这是因为 mod_wsgi 寻找 application。如果不这样做,您将收到 404 响应,但也可能在 Apache 错误日志中收到错误。

关于python - 在apache上部署flask应用程序工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45727663/

相关文章:

python json 到 csv 转换脚本?

python - 如何从流水线网格搜索和 cross_val_score 中获得最佳估计器和参数?

apache - 在单个 tomcat 实例上混合使用 https 和 http

javascript - 使用 Flask 和 PyCharm 调试 JavaScript

python - 使用 Python Flask 在我的 html 中显示 .txt 文件

Python flask.ext.mysql 已弃用?

python - web2py 可以与 svn 一起工作吗?

python - Windows PC 上的 IPython 并行计算?

java - 如何配置日志记录以记录 CXF 入站和出站 Restful 消息?

php - 如何保护站点和内部 API?