Python 3 (CherryPy) 服务器无法在其他计算机上运行

Python 3 (CherryPy) Server Not Working on Other Computer

我想在另一台计算机上访问我的 CherryPy 网站,但我已经尝试了 here and here 的答案,但都没有用。我正在使用 Mac 和 OSX El Capitan,Python 3.5.2,我相信是最新版本的 CherryPy。这是我当前的代码,我不在乎地址是什么,只关心它是否有效。感谢您的帮助!

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

# bind to all IPv4 interfaces
cherrypy.config.update({'server.socket_host': '0.0.0.0'})
cherrypy.quickstart(HelloWorld())

编辑:

我可以从 localhost:8080 127.0.0.10.0.0.0 访问该站点。控制台输出是这样的:

[26/Jul/2016:19:10:26] ENGINE Listening for SIGTERM.
[26/Jul/2016:19:10:26] ENGINE Listening for SIGHUP.
[26/Jul/2016:19:10:26] ENGINE Listening for SIGUSR1.
[26/Jul/2016:19:10:27] ENGINE Bus STARTING

Warning (from warnings module):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/cherrypy/_cpchecker.py", line 105
    warnings.warn(msg)
UserWarning: The Application mounted at '' has an empty config.
[26/Jul/2016:19:10:27] ENGINE Started monitor thread '_TimeoutMonitor'.
[26/Jul/2016:19:10:27] ENGINE Started monitor thread 'Autoreloader'.
[26/Jul/2016:19:10:27] ENGINE Serving on http://0.0.0.0:8080
[26/Jul/2016:19:10:27] ENGINE Bus STARTED

我 运行 我的文件使用 IDLE,我没有使用防火墙。

问题下方的评论中提到了解决方案,因此此答案仅用于将此问题标记为已回答。

解决方案:如果您想从另一台计算机上查看您的 cherrypy 应用程序,请在 运行 上使用 ifconfig 或 [=] 找到 cherrypy 所在计算机上的 IP 地址13=] 在 Windows 上。然后将此 IP 地址设置为您的 cherrypy 配置,而不是 127.0.0.10.0.0.0.

cherrypy.config.update({'server.socket_host': '192.168.1.123'})

只要您在同一网络上,就应该能够访问您设置的 IP/port 上的应用程序:http://192.168.1.123:8080/(或类似)

如果您需要更改 IP 和端口,请使用:

cherrypy.config.update({
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 9090,
})