2011-12-05 9 views
8

Tôi đang cố gắng để kiểm tra CherryPy khuôn khổ bằng cách sử dụng ví dụ từ trang web của họ:Vấn đề với ví dụ hello world chạy CherryPy của

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

cherrypy.quickstart(HelloWorld()) 

Khi tôi chạy nó tôi nhận được phản ứng này trong bảng điều khiển

[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 

Khi chạy trình duyệt cục bộ và pointig đến localhost: 8080 nó hoạt động nhưng với thế giới bên ngoài khi sử dụng serverip: 8080 thì không. Tôi có phải đặt địa chỉ ip của máy chủ ở đâu đó không?

Trả lời

11

Theo mặc định cherrypy.quickstart chỉ liên kết với máy chủ cục bộ 127.0.0.1, có thể truy cập từ máy tính phục vụ chứ không phải từ máy tính được kết nối với máy tính thông qua mạng.
Nếu bạn muốn truy cập trang web từ một máy tính khác, bạn cần đặt cấu hình, như được ghi trong here.

Dưới đây là một ví dụ cơ bản, chỉ cần thay đổi cherrypy để liên kết với tất cả các giao diện mạng.

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

Cảm ơn bạn, đã hoạt động! –