在 apache 上部署 Flask 应用程序工厂
Deploying flask application factory on apache
我没有运气让这个工作。
我的 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>
我有一个非应用程序工厂烧瓶应用程序 运行 在 Apache 上运行良好并且多年来一直很愉快,但是这个没有给我任何错误并且 returns 什么也没有。在过去的几个小时里,我一直在尝试各种更改并寻找解决方案,但无济于事。有什么想法吗?
您不能为配置文件使用相对路径名:
app = create_app("config.py")
必须是绝对路径。
阅读:
如果返回空响应或挂起,也请尝试设置:
WSGIApplicationGroup %{GLOBAL}
阅读:
WSGI脚本文件中的WSGI应用程序入口点也应设置为:
application = create_app("c:/dpc/dpc/config.py")
换句话说,application
而不是 app
。这是因为 mod_wsgi 寻找 application
。如果不这样做,您将收到 404 响应,但也可能在 Apache 错误日志中出现错误。
我没有运气让这个工作。
我的 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>
我有一个非应用程序工厂烧瓶应用程序 运行 在 Apache 上运行良好并且多年来一直很愉快,但是这个没有给我任何错误并且 returns 什么也没有。在过去的几个小时里,我一直在尝试各种更改并寻找解决方案,但无济于事。有什么想法吗?
您不能为配置文件使用相对路径名:
app = create_app("config.py")
必须是绝对路径。
阅读:
如果返回空响应或挂起,也请尝试设置:
WSGIApplicationGroup %{GLOBAL}
阅读:
WSGI脚本文件中的WSGI应用程序入口点也应设置为:
application = create_app("c:/dpc/dpc/config.py")
换句话说,application
而不是 app
。这是因为 mod_wsgi 寻找 application
。如果不这样做,您将收到 404 响应,但也可能在 Apache 错误日志中出现错误。