2011-11-13 3 views
2

Trac을 nginx에서 실행하려고합니다.tracd를 사용하지 않고 nginx deployement에 대한 trac 생성

tracd 서버를 실행하는 간단한 솔루션이 있지만이를 피하려고합니다. 유닉스 소켓을 지원하지 않습니다.

대신 WSGI 응용 프로그램을 시작할 수 있어야하는 Spawning을 사용하려고합니다.

하지만 사용 방법을 모르겠습니다. deplyement 이후에,과 함께 나의 cgi-bin 디렉토리가 있지만, Spawning을 사용하여 실행하는 방법을 모르겠습니다.

파일 이름을 인수로 허용하지 않기 때문에 모듈 및 응용 프로그램 이름 (예 : spawning my_module.my_wsgi_app)을 제공해야합니다. 그러나 trac.wsgi로 어떻게 할 수 있습니까?

답변

2

Spawning docs 읽기 명령 줄에서 첫 번째 매개 변수로 응용 프로그램의 WSGI 객체 인의 점으로 구분 된 이름이 수신되는 것을 확인했습니다. 특히 Trac의 경우 WSGI 객체는 trac.web.main.dispatch_request[1]에 정의되어 있습니다. 이것을 Spawning에 전달하십시오.

Trac은 trac 환경을 가리키는 TRAC_ENVPYTHON_EGG_CACHE을 가리키는 몇 가지 환경 변수를 필요로한다는 것을 기억하십시오. Python은로드 된 egg 파일을 추출합니다.

첫 번째 인수로 파일을 수신하지 않으므로 trac.wsgi이 필요하지 않습니다.

직접 시도해 볼 수 있습니다.

$ TRAC_ENV=/path/to/your/trac-env PYTHON_EGG_CACHE=/tmp/.egg-cache spawning trac.web.main.dispatch_request 

행운을 빈다!

+0

달튼에게 감사드립니다! – alexpirine