2011-08-22 6 views
1

mod_wsgi가 데몬로드에 구성된 서버에서 Trac을 실행할 때 Trac은 "스크립트 헤더의 조기 종료"형식의 많은 오류를 발생시킵니다. 나는 이것을 조사해 보았는데 Trac과 Apache 사이에 expat 라이브러리의 버전이 일치하지 않는 것으로 보인다. 슬프게도, 나는이 문제를 해결할 수있는 유일한 해결책 인 아파치를 재구 할 수있는 위치에 있지 않다.Trac, mod_wsgi, 스크립트 헤더의 조기 종료

다른 해결책이 가능한지 궁금합니다. 임베디드 모드로 실행하면이 문제가 사라집니다. 임베디드 모드에서 실행되는 Trac 요청에 대해 가상 호스트를 구성 할 수 있습니까? 다른 요청은 데몬 모드로 구성된 호스트에서 처리됩니까? Django 프로젝트 때문에 데몬 모드를 사용하기 때문에 코드가 변경 될 때 서버를 다시 시작할 필요가 없습니다. 그러나 이런 방식으로 설정하면 문제가 해결되는지, 또는 그러한 설정이 가능한지 여부는 알 수 없습니다.

답변

0

임베디드 모드로 실행해도 문제가 해결되지 않습니다. 메시지는 사라질 수 있지만 아파치 하위 프로세스는 여전히 충돌 할 수 있지만 그렇게하는 것은 아파치 오류 로그의 주된 내용이 '분할 오류'와 그 외에는 거의 보이지 않을 정도로 명확하지 않을 수 있습니다.

당신이 이것을 들었다면 실제로 mod_wsgi 사이트에서 문서화 된 테스트를 실행하여 국외 거주자 문제로 확인 했습니까?

Trac이 충돌 할 수있는 유일한 이유는 expat 문제가 아닙니다. 하위 인터프리터에서 Subversion을위한 Python 래퍼를 사용하면 문제가 발생할 수도 있습니다.

WSGIApplicationGroup %{GLOBAL} 

당신이 mod_wsgi에 위키에 설명되어 같은 코드가 다시 충돌되는 GDB와 분석으로까지 간 적이 : 그래서, 당신은 설정의 문서화 된 해결 방법을 시도했습니다.

Trac이 데몬 모드에서 임베디드 및 장고 모드로 실행될 수 있는지 여부에 대한 질문은 네가 할 수 있지만 실제로 볼 수있는 것에서는 문제를 해결할 수 없다는 것입니다.

+0

아직 테스트 프로그램을 실행하지 않았습니다. 사람들이 서버를 사용할 때 나는 많은 일을 할 수 없으므로 내일까지 기다려야합니다. Apache에서 사용하는 expat의 버전과 Python에서 사용되는 버전이 크게 다르다는 것을 확인했습니다. 저는 지금 당장은 아니지만 파이썬이 2.0.x를 사용하는 동안 아파치는 1.5.x와 같은 것을 사용하고 있습니다. 이상하게도 우리는 몇 개월 동안 mod_wsgi를 통해 장고 모드에서 장고를 실행 해 왔으며이 문제를 본 적이 없다. Trac을 시스템에 추가했을 때만 나타납니다. 나는 모든 오류를 보지 않고 아침 내내 임베디드 모드로 실행하고있다. – SixDegrees

+0

디버거에서 이것을 탐색 할 시간이 거의 없음을 유의하십시오. 이미 언급했듯이이 오류는 모두 Trac을 통해 발생하며 이들은 산발적입니다. 페이지를 새로 고치면 정상적으로 문제가 해결됩니다. 하지만 수정을 위해 많은 인력이 필요하다면 Trac을 방치하는 것이 선호되는 해결책 일 것입니다. – SixDegrees

+0

http://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary에서 테스트 앱을 실행했습니다. expat의 유무에 관계없이 두 예제 모두 성공적으로 실행되었으므로 expat은 여기서 범인이되었습니다. – SixDegrees

관련 문제