我在单个文件夹中有一个按功能组织的python瓶应用程序,我想将我现有的樱桃用法转换为apache mod_wsgi。
文件夹结构如下所示:
- project
-- app.py (loads the webserver class and runs it)
-- app
--- common
--- logs
--- modules
--- tools
--- web
---- webserver.py
这种结构的原因是,普通代码可以在工具和Web中使用,没有任何问题。导入都是以"from app.common.blah import utility"的风格完成的。尝试设置mod_wsgi时,它希望加载一个简单的应用程序。
是否可以使用这样的文件夹结构运行mod_wsgi?如果没有,是否有任何建议来设置一个允许mod_wsgi的结构,以及在工具和 Web 等文件夹之间共享通用实用程序?
来自 Bottle 部署文档 关于部署:
您只需要一个提供应用程序对象的 app.wsgi 文件。mod_wsgi使用此对象来启动应用程序,并且应该是与WSGI兼容的Python可调用对象。
文件
/var/www/yourapp/app.wsgi
:
import os
# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))
import bottle
# ... build or import your bottle application here ...
# Do NOT use bottle.run() with mod_wsgi
application = bottle.default_app()
在您的情况下,请编辑上面的代码片段以导入可能在您的app.py
中定义的应用程序对象