2011-12-05 12 views
8

sto cercando di testare cherrypy quadro utilizzando ad esempio dal loro sito:Problemi con esempio ciao mondo di cherrypy esecuzione

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

cherrypy.quickstart(HelloWorld()) 

quando l'eseguo ottengo questa risposta nella console:

[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 

Quando si esegue il browser localmente e si punta a localhost: 8080 funziona, ma al mondo esterno quando si usa serverip: 8080 no. Devo impostare l'indirizzo IP del server da qualche parte?

risposta

11

Per impostazione predefinita cherrypy.quickstart è solo andare a legarsi a localhost 127.0.0.1, che può essere l'accesso dal computer al servizio ma non da computer collegati ad esso attraverso la rete.
Se si desidera poter accedere al sito da un altro computer, è necessario impostare la configurazione, come documentato in here.

Ecco un esempio di base, basta cambiare la cherrypy per collegarsi a tutte le interfacce di rete.

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

Grazie, ha funzionato! –