2011-12-05 39 views
8

我試圖通過從他們的網站爲例,測試CherryPy的框架:與運行CherryPy的Hello World示例問題

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

cherrypy.quickstart(HelloWorld()) 

當我運行它,我在控制檯中這樣的響應:

[05/Dec/2011:00:15:11] ENGINE Listening for SIGHUP. 
[05/Dec/2011:00:15:11] ENGINE Listening for SIGTERM. 
[05/Dec/2011:00:15:11] ENGINE Listening for SIGUSR1. 
[05/Dec/2011:00:15:11] ENGINE Bus STARTING 
CherryPy Checker: 
The Application mounted at '' has an empty config. 

[05/Dec/2011:00:15:11] ENGINE Started monitor thread '_TimeoutMonitor'. 
[05/Dec/2011:00:15:11] ENGINE Started monitor thread 'Autoreloader'. 
[05/Dec/2011:00:15:12] ENGINE Serving on 127.0.0.1:8080 
[05/Dec/2011:00:15:12] ENGINE Bus STARTED 

當在本地運行瀏覽器並且指向localhost:8080時,它適用於外部世界,但在使用serverip時:8080則不適用。我必須在某處設置服務器的IP地址嗎?

回答

11

默認cherrypy.quickstart只會綁定到localhost 127.0.0.1,可以從服務計算機訪問,但不能通過網絡連接到計算機。
如果您希望能夠從另一臺計算機訪問該站點,則需要設置配置,如here中所述。

下面是一個基本的例子,只是改變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()) 
+0

謝謝,工作! –