mod_wsgi 阿帕奇与 python-eve

mod_wsgi apache with python-eve

我尝试将我的 eve 应用程序集成到 apache 中。 我想我做的都正确,就像烧瓶文档中显示的那样。

当我尝试使用我的 eve collection...我在 apache 日志中收到错误消息:

Traceback (most recent call last):
File "/var/customers/webs/myapp/myapp.wsgi", line 7, in <module>
from run import app as application
File "/var/customers/webs/myapp/run.py", line 9, in <module>
app = Eve(__name__)
File "/usr/local/lib/python2.7/dist-packages/eve/flaskapp.py", line 139, in __init__
self.validate_domain_struct()
File "/usr/local/lib/python2.7/dist-packages/eve/flaskapp.py", line 252, in validate_domain_struct
raise ConfigException('DOMAIN dictionary missing or wrong.')
ConfigException: DOMAIN dictionary missing or wrong.

应用程序似乎找不到我的settings.py

我的 apache 文件夹如下所示:

/myapp
 - myapp.wsgi
 - run.py
 - settings.py

如果我直接使用 python run.py 启动它,everythink 工作正常。

检查 this 答案。您可以尝试使用 settings 命名参数将 settings.py 路径添加到 eve 应用程序初始化中。

感谢@gcw 的提示

解决方法很简单:

只需将 settings.py 所在的完整路径提供给构造函数

app = Eve(settings='/var/customers/webs/myapp/settings.py')