目标WSGI脚本未find或无法stat

这个问题折磨了我好几天。 我在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 

我的configuration文件是这样的,非常简单

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

文件path肯定是完整的path。 所以文件存在。 然后我以为Apache服务器进程没有权限访问该文件,所以我改变了wsgi文件的模式为777.但它仍然报告相同的错误。

我search了一段时间,并尝试了几种方法。

  1. 移动wsgi文件到另一个foler,说'/ var / www',但它仍然找不到它。
  2. 尝试重新安装apache,不起作用。
  3. 删除尾部的斜线

奇怪的是,如果我删除了wsgiconfiguration文件,apache工作正常。 而且如果我运行django提供的testing服务器,django本身工作正常。

如果有人能帮忙,我会很高兴的。 谢谢!

你有SELinux扩展启用,阻止Apache访问文件存在的目录?

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

不相关,但是你有一个WSGIProcessGroup指令对应于WSGIDaemonProcess,这样请求实际上将被委托在守护进程中运行?

最后,你可以省去“进程= 1”,因为它默认为一个进程,任何数字的进程设置都有其他的含义,因为它会在WSGI环境中标记这是一个多进程configuration。