Вопрос

Я использую 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())
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top