Целевой скрипт WSGI не найден или не может быть stat

Целевой скрипт WSGI не найден или не может быть stat

Эта проблема мучает меня уже несколько дней. Я использую Apache, WSGI и django на своем Raspberry Pi. Операционная система — Raspbian.

Все в порядке, кроме этой ошибки от Apache.

[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. попробуйте переустановить apache, не работает.
  3. удалить завершающий слеш

Странно, но apache работает нормально, если я удаляю файл конфигурации wsgi. И сам django работает нормально, если я запускаю тестовый сервер, предоставленный django.

Если кто-то может помочь, буду очень рад. Спасибо!

решение1

Включены ли у вас расширения SELinux, не позволяющие Apache получить доступ к каталогам, в которых находятся файлы?

Разрешат ли разрешения на домашний каталог доступ Apache? Недостаточно, чтобы файл был доступен для чтения, все каталоги до него также должны быть доступны.

Не имеет отношения к теме, но есть ли у вас директива WSGIProcessGroup, соответствующая WSGIDaemonProcess, чтобы запросы фактически делегировались для выполнения в процессе-демоне?

Наконец, вы можете не указывать «processes=1», поскольку по умолчанию это один процесс, а установка «processes» для любого числа имеет другие последствия, поскольку в среде WSGI это будет означать, что это многопроцессная конфигурация.

Связанный контент