Эта проблема мучила меня несколько дней. Я использую 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. Но он по-прежнему сообщает ту же ошибку.
Я искал какое-то время и пробовал несколько методов.
Странно то, что apache работает нормально, если я удалю файл конфигурации wsgi. И сам django работает нормально, если я запускаю тестовый сервер, предоставленный django.
Если кто может помочь, буду очень рад. Спасибо!
Включены ли у вас расширения SELinux, предотвращающие доступ Apache к каталогам, в которых существуют файлы?
Будут ли разрешения в домашнем каталоге разрешать доступ Apache? Недостаточно, чтобы только файл был доступен для чтения, все его каталоги также должны быть доступны.
Не связано, но есть ли у вас директива WSGIProcessGroup, соответствующая WSGIDaemonProcess, чтобы запросы действительно делегировались для выполнения в процессе демона?
Наконец, вы можете не использовать «процессы = 1», поскольку по умолчанию используется один процесс, а установка «процессов» для любого числа имеет другие последствия, поскольку в среде WSGI он будет отмечать, что это конфигурация с несколькими процессами.