문제

저는 Python과 CherryPy를 사용하여 약 2명이 사용하는 간단한 내부 웹사이트를 만들고 있습니다.나는 CherryPy.quickstart와 함께 내장된 웹 서버를 사용하고 구성 파일을 망친 적이 없습니다.최근에 컴퓨터를 변경하여 최신 Python과 Cherrypy를 설치했으며 사이트를 실행할 때 localhost:8080에서 액세스할 수 있지만 IP나 Windows 컴퓨터 이름을 통해서는 액세스할 수 없습니다.시스템 구성 차이일 수도 있고 최신 버전의 CherryPy 또는 Python일 수도 있습니다.올바른 IP 주소에 바인딩하는 방법에 대한 아이디어가 있습니까?

편집하다:분명히 말하자면 현재 구성 파일이 전혀 없습니다.

도움이 되었습니까?

해결책

이는 Cherrypy init을 어떻게 실행하는지에 따라 다릅니다.

Cherrypy 3.1 구문을 사용한다면 다음과 같이 할 수 있습니다:

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

물론 서버 클래스를 서브클래싱하거나 구성 파일을 사용하는 등 좀 더 멋진 방법을 사용할 수도 있습니다.이러한 용도는 다음에서 다룹니다. 문서.

하지만 그것만으로도 충분합니다.당신이하고있는 일과 체리 피 버전을 알려주면이 답변을 편집하겠습니다.

다른 팁

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