Domanda

Sto usando Python e CherryPy per creare un semplice sito Web interno che usano circa 2 persone. Uso il webserver integrato con CherryPy.quickstart e non ho mai fatto confusione con i file di configurazione. Di recente ho cambiato computer, quindi ho installato Python e Cherrypy più recenti e quando eseguo il sito posso accedervi da localhost: 8080 ma non tramite l'IP o il nome del computer Windows. Potrebbe essere una differenza di configurazione della macchina o una versione più recente di CherryPy o Python. Qualche idea su come posso associare l'indirizzo IP corretto?

Modifica: per chiarire, al momento non ho affatto un file di configurazione.

È stato utile?

Soluzione

Dipende da come stai eseguendo la cherrypy init.

Se si utilizza la sintassi cherrypy 3.1, lo farebbe:

cherrypy.server.socket_host = 'www.machinename.com'
cherrypy.engine.start()
cherrypy.engine.block()

Naturalmente puoi avere qualcosa di più sofisticato, come la sottoclasse della classe server o l'uso dei file di configurazione. Tali usi sono trattati nella la documentazione .

Ma dovrebbe bastare. Se non ci dite semplicemente cosa state facendo e la versione cherrypy, ed io modificherò questa risposta.

Altri suggerimenti

server.socket_host: '0.0.0.0'

... funzionerebbe anche. Questo è IPv4 INADDR_ANY, il che significa che " ascolta su tutte le interfacce " ;.

In un file di configurazione, la sintassi è:

[global]
server.socket_host: '0.0.0.0'

Nel codice:

cherrypy.server.socket_host = '0.0.0.0'
import cherrypy

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

cherrypy.server.socket_host = '0.0.0.0' # put it here 
cherrypy.quickstart(HelloWorld())
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top