Cherrypy服务器无法从任何地方获得,除了localhos

2024-09-29 23:17:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我和cherrypy有个问题看起来已经解决了,但是不起作用。我只能在localhost或127.0.0.1上绑定。WindowsXPHome和MacOSX(linux未测试)、CherryPy3.1.2、Python2.5.4。我的应用程序到此结束:

global_conf = {
       'global':    { 'server.environment= "production"'
                      'engine.autoreload_on : True'
                      'engine.autoreload_frequency = 5 '
                      'server.socket_host': '0.0.0.0',
                      'server.socket_port': 8080}
    }
cherrypy.config.update(global_conf)
cherrypy.tree.mount(home, '/', config = application_conf)
cherrypy.engine.start()

Tags: config应用程序localhostenvironmentserverlinuxconfsocket
2条回答

如果您使用的是双堆栈操作系统,可能是localhost解析为::1(IPv6本地主机),而不是127.0.0.1(IPv4本地主机)。尝试使用http://127.0.0.1:8080访问服务器。在

另外,如果您使用支持双堆栈的操作系统,您可以设置server.socket_主机到“::”,它将侦听IPv6和IPv4中的所有地址。在

嗯,你的口述有问题:

>>> global_conf = {
...        'global':    { 'server.environment= "production"'
...                       'engine.autoreload_on : True'
...                       'engine.autoreload_frequency = 5 '
...                       'server.socket_host': '0.0.0.0',
...                       'server.socket_port': 8080}
...     }
>>> print global_conf
{'global': 
   {'server.environment= "production"engine.autoreload_on : Trueengine.autoreload_frequency = 5 server.socket_host': '0.0.0.0',
    'server.socket_port': 8080}
}

更具体地说,你的dict定义中缺少逗号和冒号。每个键/值对必须有一个冒号,并用逗号分隔。类似这样的方法可能会奏效:

^{pr2}$

有关详细信息,请查看pythondictionary documentation。在

相关问题 更多 >

    热门问题