Как настроить IP-адрес с помощью CherryPy?
Вопрос
Я использую Python и CherryPy для создания простого внутреннего веб-сайта, которым пользуются около двух человек.Я использую встроенный веб-сервер с CherryPy.quickstart и никогда не связывался с файлами конфигурации.Недавно я сменил компьютер, поэтому установил последнюю версию Python и Cherrypy, и когда я запускаю сайт, я могу получить к нему доступ с локального хоста: 8080, но не через IP или имя компьютера Windows.Это может быть разница в конфигурации компьютера или более новая версия CherryPy или Python.Есть идеи, как я могу привязаться к правильному IP-адресу?
Редактировать:чтобы было понятно, у меня сейчас вообще нет файла конфигурации.
Решение
Это зависит от того, как вы запускаете CherryPinit.
Если вы используете синтаксис CherryPy 3.1, это сделает следующее:
cherrypy.server.socket_host = 'www.machinename.com'
cherrypy.engine.start()
cherrypy.engine.block()
Конечно, вы можете сделать что-то более необычное, например создать подкласс класса сервера или использовать файлы конфигурации.Эти виды использования описаны в документация.
Но этого должно быть достаточно.Если нет, просто расскажите нам, что вы делаете, и версию Cherry, и я отредактирую этот ответ.
Другие советы
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())