Как настроить ip-адрес с помощью CherryPy?

Я использую python и CherryPy для создания простого внутреннего веб-сайта, который используют около 2 человек. Я использую встроенный веб-сервер с CherryPy.quickstart и никогда не возился с конфигурационными файлами. Я недавно изменил машины, поэтому я установил последний Python и cherrypy, и когда я запускаю сайт, я могу получить доступ к нему из localhost:8080, но не через IP или имя машины windows. Это может быть разница в конфигурации машины или более новая версия CherryPy или Python. Любые идеи, как я могу связать правильный IP-адрес?

Edit: чтобы прояснить, в настоящее время у меня нет файла конфигурации вообще.

3 ответов


Это зависит от того, как вы запускаете инициализацию cherrypy.

Если вы используете синтаксис cherrypy 3.1, то сделайте это:

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

конечно, у вас может быть что-то более причудливое, например подкласс класса сервера или использование файлов конфигурации. Эти пользы покрыты в документация.

но этого должно быть достаточно. Если не просто скажите нам, что вы делаете, и версия cherrypy, и я отредактирую этот ответ.


server.socket_host: '0.0.0.0'

...тоже сработает. Это IPv4 INADDR_ANY, что означает "прослушивание всех интерфейсов".

в конфигурационном файле синтаксис:

[global]
server.socket_host: '0.0.0.0'

в коде:

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