目标 WSGI 脚本未找到或无法统计

目标 WSGI 脚本未找到或无法统计

这个问题折磨了我好几天。我在 Raspberry Pi 上使用 Apache、WSGI 和 django。操作系统是 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. 删除尾部斜杠

奇怪的是,如果我删除 wsgi 配置文件,apache 可以正常工作。如果我运行 django 提供的测试服务器,django 本身也可以正常工作。

如果有人能帮忙,我会非常高兴。谢谢!

答案1

您是否启用了 SELinux 扩展,阻止 Apache 访问文件所在的目录?

主目录的权限是否允许 Apache 访问?仅文件可读是不够的,它下面的所有目录也必须可访问。

无关,但是您是否有一个 WSGIProcessGroup 指令来对应 WSGIDaemonProcess,以便请求实际上被委托在守护进程中运行?

最后,您可以省略“processes = 1”,因为它默认为单个进程,并且将“processes”设置为任何数字都有其他含义,因为它会在 WSGI 环境中标记它是一个多进程配置。

相关内容