Bluehost 文章一直是最好的资源,但我没有仔细阅读有关获取最新补丁的部分(第 3 步的开头)。在撰写本文时,甚至现在使用 CherryPy 版本 3.1.2,您都无法执行“动态模式”fcgi(当 apache 产生进程时)。更多在这里。如果您在共享主机上,动态模式基本上是必不可少的。
我已经检查了树干(3.2.0rc1),在跳过了一些箍之后,让它工作了。我按照 bluehost 文章中的第 5 步方法 C。这是我的cherryd.fcgi 的主要内容:
if __name__ == '__main__':
cherrypy.config.update({
'server.socket_port': None,
'server.socket_host': None,
'server.socket_file': None
})
start( daemonize=False, fastcgi=True, imports=["hello"])
此外,在cherrypy/process/servers.py 中,我必须更改以下行:
# from this
# if not hasattr(socket.socket, 'fromfd'):
# to this
if not hasattr(socket, 'fromfd'):
所以,让它工作是可能的,但感觉有点hacky。您应该等待 3.2.0 版的最终发布,或者按照我的做法检查Web.py。我能够很容易地让它与我的共享主机一起工作(文档很好地解释了 fastcgi/htaccess)。