目標 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 環境中標記它是多進程配置。

相關內容