대상 WSGI 스크립트를 찾을 수 없거나 통계할 수 없습니다.

대상 WSGI 스크립트를 찾을 수 없거나 통계할 수 없습니다.

이 문제는 며칠 동안 나를 괴롭혔습니다. 저는 Raspberry Pi에서 Apache, WSGI 및 django를 사용하고 있습니다. 운영체제는 라즈비안입니다.

아파치에서 발생한 이 오류를 제외하고는 모든 것이 정상입니다.

[error] [client 127.0.0.1] Target WSGI script not found or unable to stat: /home/pi/EZ_Green/apache/ems_gateway_django.wsgi

내 구성 파일은 다음과 같습니다. 매우 간단합니다.

WSGIDaemonProcess ems.ezgreenbuildings.com processes=1 maximum-requests=100 threads=10
WSGIScriptAlias / /home/pi/EZ_Green/apache/ems_gateway_django.wsgi

파일 경로는 확실히 전체 경로입니다. 그래서 파일이 존재합니다. 그런 다음 Apache 서버 프로세스에 파일에 액세스할 수 있는 권한이 없다고 생각하여 wsgi 파일의 모드를 777로 변경했습니다. 하지만 여전히 동일한 오류가 보고됩니다.

나는 한동안 검색하고 여러 가지 방법을 시도했습니다.

  1. wsgi 파일을 '/var/www'와 같은 다른 폴더로 이동했지만 여전히 찾을 수 없습니다.
  2. 아파치를 다시 설치해봐도 작동하지 않습니다.
  3. 후행 슬래시 제거

이상한 점은 wsgi 구성 파일을 제거하면 Apache가 제대로 작동한다는 것입니다. 그리고 django에서 제공하는 테스트 서버를 실행하면 django 자체가 제대로 작동합니다.

누구든지 도움을 줄 수 있다면 매우 기쁠 것입니다. 감사해요!

답변1

SELinux 확장을 활성화하여 Apache가 파일이 있는 디렉터리에 액세스하지 못하도록 합니까?

홈 디렉토리에 대한 권한이 Apache 액세스를 허용합니까? 파일을 읽을 수 있는 것만으로는 충분하지 않으며 그 아래의 모든 디렉터리에도 액세스할 수 있어야 합니다.

관련은 없지만 요청이 실제로 데몬 프로세스에서 실행되도록 위임되도록 WSGIDaemonProcess에 해당하는 WSGIProcessGroup 지시문이 있습니까?

마지막으로, 기본값은 단일 프로세스이므로 'processes=1'을 생략할 수 있으며 숫자에 관계없이 'processes'를 설정하면 WSGI 환경에서 다중 프로세스 구성이라는 플래그가 지정되므로 다른 의미가 있습니다.

관련 정보