Cherrypy behing apache和mod_python

Cherrypy behing apache和mod_python,python,apache,cherrypy,mod-python,Python,Apache,Cherrypy,Mod Python,我在apache后面使用mod_python进行cherrypy部署时遇到问题 我有以下apache配置: 4 <VirtualHost *> 5 ServerAdmin martin@podhola.com 6 ServerName pyth.madphoto.eu 7 DocumentRoot /development/webadmin-interface/ 8 # Indexes + Dir

我在apache后面使用mod_python进行cherrypy部署时遇到问题

我有以下apache配置:

    4 <VirtualHost *>
  5         ServerAdmin martin@podhola.com
  6         ServerName pyth.madphoto.eu
  7         DocumentRoot /development/webadmin-interface/
  8         # Indexes + Directory Root.
  9         <Location />
 10                 PythonPath "sys.path+['/development/webadmin-interface']"
 11                 SetHandler python-program
 12                 PythonHandler cherrypy._cpmodpy::handler
 13                 PythonOption cherrypy.setup main::start
 14                 PythonDebug On
 15         </Location>
 16
 17         # Logfiles
 18         ErrorLog  /www/madphoto.eu/pyth/logs/error.log
 19         CustomLog /www/madphoto.eu/pyth/logs/ccess.log combined
 20 </VirtualHost>
然后第一次刷新站点是做403禁止,第二次我进入apache错误日志

[21/May/2013:11:48:38] MOD_PYTHON Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpmodpy.py", line 139, in handler
    setup(req)
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpmodpy.py", line 84, in setup
    func()
  File "/development/webadmin-interface/main.py", line 49, in start
    cherrypy.engine.start()
  File "/usr/lib/pymodules/python2.6/cherrypy/process/wspbus.py", line 184, in start
    self.publish('start')
  File "/usr/lib/pymodules/python2.6/cherrypy/process/wspbus.py", line 147, in publish
    output.append(listener(*args, **kwargs))
  File "/usr/lib/pymodules/python2.6/cherrypy/_cpserver.py", line 90, in start
    ServerAdapter.start(self)
  File "/usr/lib/pymodules/python2.6/cherrypy/process/servers.py", line 53, in start
    wait_for_free_port(*self.bind_addr)
  File "/usr/lib/pymodules/python2.6/cherrypy/process/servers.py", line 251, in wait_for_free_port
    raise IOError("Port %r not free on %r" % (port, host))
IOError: Port 8080 not free on '127.0.0.1'
但它不工作,它是由许多手册遵循我尝试不同的设置,但它仍然不工作

我有Debian挤压服务器,cherrypy 3.1.2-1,apache2

在cherrypy的独立启动内置服务器中,它可以完美地工作


请问你能帮忙吗?谢谢

您将与apache一起启动cherrypy服务器,启动功能将仅配置和装载应用程序,而不会启动服务器,它应该如下所示:

def start():
    cherrypy.tree.mount(Main(),
                        config="/development/webadmin-interface/webadmin.conf")
模块_cpmodpy有更多易于阅读的信息:

 python -m pydoc cherrypy._cpmodpy

作为一般性建议,你应该考虑使用MODYWSGI,MODYPython是不被维护的,被认为是赞成MODYWSGI的。

谢谢CyrxJoe,这解决了我的问题多启动,但现在我只看到服务器上的白页绝对空的数据,在apache日志中虚拟主机本地和全局都没有错误,我不知道为什么:-更新-当我尝试使用telnet发送HEAD请求时,我收到400个错误,使用GET/I接收到一个以结束的二进制垃圾���Wߟ7��连接已被外部主机关闭。问题已解决,非常感谢,此问题与系统中的路径有关,cherrypy和mako找不到模板路径,我使用了完全绝对路径,现在一切正常。Awesome@Mlocik!,如果你把这个问题标记为已解决,那将是一件好事。
 python -m pydoc cherrypy._cpmodpy