문제
저는 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())
제휴하지 않습니다 StackOverflow