如何使用CherryPy配置IP地址?

时间:2008-09-22 16:04:54

标签: python cherrypy

我正在使用python和CherryPy创建一个约2人使用的简单内部网站。我使用带有CherryPy.quickstart的内置网络服务器,并且从不搞乱配置文件。我最近更换了机器,所以我安装了最新的Python和cherrypy,当我运行该站点时,我可以从localhost:8080访问它,但不能通过IP或Windows机器名称访问它。它可能是机器配置差异或CherryPy或Python的较新版本。我有什么想法可以绑定到正确的IP地址吗?

编辑:为了说清楚,我目前根本没有配置文件。

3 个答案:

答案 0 :(得分:34)

server.socket_host: '0.0.0.0'

......也会奏效。这是IPv4 INADDR_ANY,意思是“在所有接口上监听”。

在配置文件中,语法为:

[global]
server.socket_host: '0.0.0.0'

在代码中:

cherrypy.server.socket_host = '0.0.0.0'

答案 1 :(得分:17)

这取决于你如何运行cherrypy init。

如果使用cherrypy 3.1语法,请执行以下操作:

cherrypy.server.socket_host = 'www.machinename.com'
cherrypy.engine.start()
cherrypy.engine.block()

当然,您可以拥有更多花哨的东西,例如子类化服务器类或使用配置文件。这些用途包含在the documentation中。

但这应该足够了。如果不只是告诉我们你在做什么和樱桃版,我将编辑这个答案。

答案 2 :(得分:6)

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.server.socket_host = '0.0.0.0' # put it here 
cherrypy.quickstart(HelloWorld())