我没有运气好运。
我的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上正常运行并且欢乐多年,但是这个没有给我任何错误并且什么也没有返回。我一直在尝试各种更改并在过去几个小时内寻找解决方案无济于事。有什么想法吗?
答案 0 :(得分:1)
您无法在以下位置使用配置文件的相对路径名:
app = create_app("config.py")
它必须是一条绝对的道路。
读:
如果您回复空响应或挂起,请尝试设置:
WSGIApplicationGroup %{GLOBAL}
读:
WSGI脚本文件中的WSGI应用程序入口点也应设置为:
application = create_app("c:/dpc/dpc/config.py")
换句话说,application
而非app
。这是因为mod_wsgi查找application
。如果没有完成,你将得到404响应,但也可能是Apache错误日志中的错误。