简体   繁体   中英

How do I configure the ip address with CherryPy?

I'm using python and CherryPy to create a simple internal website that about 2 people use. I use the built in webserver with CherryPy.quickstart and never messed with the config files. I recently changed machines so I installed the latest Python and cherrypy and when I run the site I can access it from localhost:8080 but not through the IP or the windows machine name. It could be a machine configuration difference or a newer version of CherryPy or Python. Any ideas how I can bind to the correct IP address?

Edit: to make it clear, I currently don't have a config file at all.

server.socket_host: '0.0.0.0'

...would also work. That's IPv4 INADDR_ANY, which means, "listen on all interfaces".

In a config file, the syntax is:

[global]
server.socket_host: '0.0.0.0'

In code:

cherrypy.server.socket_host = '0.0.0.0'

That depends on how you are running the cherrypy init.

If using cherrypy 3.1 syntax, that wold do it:

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

Of course you can have something more fancy, like subclassing the server class, or using config files. Those uses are covered in the documentation .

But that should be enough. If not just tell us what you are doing and cherrypy version, and I will edit this answer.

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())

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM