문제

Apache의 FastCGI (실제로 FCGID)로 Python Mini-Framework Cherrypy를 구성하려고합니다. 나는 공유 호스트에 있으므로 httpd.conf, htaccess에 액세스 할 수 없습니다. 나는이 튜토리얼을 따랐다.

"스크립트 헤더의 조기 끝"이라는 Apache 로그가있는 500 개의 오류가 계속됩니다. 나는 모든 것을 시도했다 (권한/shebangs/full-paths/deamonized/daimonized). Python의 오류 로그에 인쇄 할 수 있기 때문에 Apache가 .fcgi를 올바르게 실행하고 있다는 것을 알고 있습니다. 공유 호스트에 Cherrypy 또는 다른 프레임 워크를 성공적으로 설치 한 사람이 있습니까? 당신의 도움은 대단히 감사하겠습니다. 감사.

도움이 되었습니까?

해결책 3

Bluehost 기사는 최고의 리소스 였지만 최신 패치를 얻는 것에 대한 부분을 신중하게 읽지 못했습니다 (3 단계의 시작). 기사 시점과 지금 심지어 Cherrypy 버전 3.1.2에서도 'Dynamic Mode'FCGI를 수행 할 수 없습니다 (Apache가 프로세스를 생성 할 때). 더 여기. 공유 호스트에있는 경우 동적 모드는 기본적으로 필수적입니다.

나는 트렁크 (3.2.0RC1)를 확인했고, 일부 후프를 뛰어 넘은 후, 그것을 작동시켰다. Bluehost 기사에서 5 단계, 방법 C를 따랐습니다. 여기 내 cherryd.fcgi의 메인에있는 것들이 있습니다.

if __name__ == '__main__':
    cherrypy.config.update({
        'server.socket_port': None,
        'server.socket_host': None,
        'server.socket_file': None
    })
    start( daemonize=False, fastcgi=True, imports=["hello"])

또한 Cherrypy/Process/Servers.py에서 다음 줄을 변경해야했습니다.

# from this
# if not hasattr(socket.socket, 'fromfd'):

# to this
if not hasattr(socket, 'fromfd'):

따라서 작동하게 할 수는 있지만 해킹 된 느낌이 듭니다. 버전 3.2.0의 최종 릴리스를 기다리거나 내가 한 일을하고 체크 아웃해야합니다. web.py. 공유 호스트와 매우 쉽게 작업 할 수있었습니다 (DOCS는 FASTCGI/HTACCESS를 잘 설명합니다).

다른 팁

apache + bluehost + fastcgi + cherrypy + wsgi는 불행히도 많은 조각입니다. 나는 당신을 위해 결정적인 가이드를 쓸 1 년이 되었으면 좋겠다. 당신은에서 약간의 통찰력을 얻을 수 있습니다 오히려 긴 메일 링리스트 스레드 그 결과 게시 한 링크가 발생했습니다.

아이디어 : .fcgi 파일이 초기 줄에서 올바른 Python 실행 파일을 참조하는지 확인하십시오.

#!/usr/bin/python

잘못된 파이썬 환경을 사용하여 Bluehost에서 FCGI와 Apache로 Django를 실행해야했습니다 (쉘에서 일했지만 웹/아파치에서는 그렇지 않은 문제).

그 외에도 코드에서 오류 로그에 인쇄 할 수 있다면 웹 페이지에 액세스 할 때 예외없이 코드가 올바르게 실행되었는지 확인할 수 있습니까? (쉘에서 흘릴 때는 아님).

웹 서버의 로그 파일에서 실제로 출력이 무엇인지 보여 주어야합니다. 액세스 로그뿐만 아니라 오류 로그를 찾고 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top