Как настроить 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())