Проблемы с запуском Привет Черри пример - PullRequest
8 голосов
/ 05 декабря 2011

Я пытаюсь протестировать вишневый фреймворк, используя пример с их сайта:

import cherrypy
class HelloWorld(object):
    def index(self):
    return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

Когда я запускаю его, я получаю такой ответ в консоли:

[05/Dec/2011:00:15:11] ENGINE Listening for SIGHUP.
[05/Dec/2011:00:15:11] ENGINE Listening for SIGTERM.
[05/Dec/2011:00:15:11] ENGINE Listening for SIGUSR1.
[05/Dec/2011:00:15:11] ENGINE Bus STARTING
CherryPy Checker:
The Application mounted at '' has an empty config.

[05/Dec/2011:00:15:11] ENGINE Started monitor thread '_TimeoutMonitor'.
[05/Dec/2011:00:15:11] ENGINE Started monitor thread 'Autoreloader'.
[05/Dec/2011:00:15:12] ENGINE Serving on 127.0.0.1:8080
[05/Dec/2011:00:15:12] ENGINE Bus STARTED

При локальном запуске браузера и указании на localhost: 8080 он работает, но при использовании serverip: 8080 это не работает. Нужно ли где-то устанавливать IP-адрес сервера?

1 Ответ

11 голосов
/ 05 декабря 2011

По умолчанию cherrypy.quickstart будет привязываться только к локальному узлу 127.0.0.1, доступ к которому может осуществляться с обслуживающего компьютера, но не с компьютеров, подключенных к нему через сеть.
Если вы хотите иметь доступ кДля сайта с другого компьютера вам необходимо установить конфигурацию, как описано в здесь .

Вот базовый пример, просто изменив cherrypy для привязки ко всем сетевым интерфейсам.

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

# bind to all IPv4 interfaces
cherrypy.config.update({'server.socket_host': '0.0.0.0'})
cherrypy.quickstart(HelloWorld())
...