在apache上运行cherrypy与mod_wsgi以及另一个php应用程序。 cherrypy应用程序不是安装在根目录上,而是通过apache配置文件中的WSGIScriptAlias安装在'localhost/apps/myapp'之类的东西上。WSGI应用程序中的cherrypy和相对路径
在testapp.py,我曾尝试以下,当我尝试访问本地主机/应用/ MYAPP在浏览器中:
app = cherrypy.tree.mount(MyApp(), '', 'settings.config') #FAILS WITH 404
和
app = cherrypy.tree.mount(MyApp(), '/apps/myapp', 'settings.config') # WORKS
第一个案例失败的原因cherrypy希望位于服务器根目录,而不是相对于通过apache中的WSGI挂载的位置。
有没有一种首选的方法让cherrypy应用程序相对于他们在apache下安装的WSGIScriptAlias路径工作?
基本上,我将在几个不同的路径下运行几个cherrypy应用程序,并且会更喜欢如果apache处理调度(即cherrypy只运行应用程序并且不担心相对路径)。这样,我可以避免每次更改服务器上的某些相对路径时更新几个不同的python文件/配置文件。
有什么建议吗?
顺便说一句,在CherryPy的应用正在传递到WSGI应用程序如下:
app = cherrypy.tree.mount(HelloWorld(), '', 'settings.config')
return app(environ, start_response)