2008-09-22 2 views
16

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

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

ответ

15

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

При использовании CherryPy 3.1 синтаксиса, что Волд сделать это:

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

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

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

+1

мне просто нужно в первой строке перед моим вызовом cherrypy.quickstart, благодаря – 2008-09-22 16:32:35

+0

ссылка не работает – 2016-09-02 14:28:22

33
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' 
4
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()) 
Смежные вопросы