Pregunta

Estoy usando Python y CherryPy para crear un sitio web interno simple que usan aproximadamente 2 personas.Utilizo el servidor web integrado con CherryPy.quickstart y nunca me meto con los archivos de configuración.Recientemente cambié de máquina, así que instalé las últimas versiones de Python y cherrypy y cuando ejecuto el sitio puedo acceder a él desde localhost:8080 pero no a través de la IP o el nombre de la máquina de Windows.Podría ser una diferencia en la configuración de la máquina o una versión más nueva de CherryPy o Python.¿Alguna idea de cómo puedo vincularme a la dirección IP correcta?

Editar:Para que quede claro, actualmente no tengo ningún archivo de configuración.

¿Fue útil?

Solución

Eso depende de cómo esté ejecutando cherrypy init.

Si usa la sintaxis de cherrypy 3.1, eso sería suficiente:

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

Por supuesto, puedes tener algo más sofisticado, como subclasificar la clase del servidor o usar archivos de configuración.Esos usos están cubiertos en la documentación.

Pero eso debería ser suficiente.Si no, cuéntanos qué estás haciendo y la versión cherrypy, y editaré esta respuesta.

Otros consejos

server.socket_host: '0.0.0.0'

...también funcionaría.Eso es IPv4 INADDR_ANY, que significa "escuchar en todas las interfaces".

En un archivo de configuración, la sintaxis es:

[global]
server.socket_host: '0.0.0.0'

En codigo:

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())
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top