Apache-2.2

未找到目標 WSGI 腳本或無法統計

  • December 25, 2013

這個問題折磨了我好幾天。我在我的樹莓派上使用 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 本身就可以正常工作。

如果有人可以提供幫助,我將非常高興。謝謝!

您是否啟用了 SELinux 擴展,阻止 Apache 訪問文件所在的目錄?

主目錄上的權限是否允許 Apache 訪問?僅文件可讀是不夠的,所有目錄也必須是可訪問的。

不相關,但是您是否有一個 WSGIProcessGroup 指令來對應於 WSGIDaemonProcess 以便請求實際上被委託在守護程序中執行?

最後,您可以取消“processes=1”,因為它預設為單個程序,並且為任何數字設置“processes”具有其他含義,因為它會在 WSGI 環境中標記它是多程序配置。

引用自:https://serverfault.com/questions/563459