mod_wsgi 無法在 Windows 7 上的 Apache 2.4.12 64 位元上運作

mod_wsgi 無法在 Windows 7 上的 Apache 2.4.12 64 位元上運作

我在跑阿帕契(豪斯)2.4.12 64 位在 Windows 7 64 位元上。Python 2.7.9 64 位已安裝。如果我不嘗試加載,Apache 就會完美運行mod_wsgi。我從下載了 mod_wsgi.so這個網站。我提取了這個文件,複製mod_wsgi.soC:\Apache24\模組並將這一行加入到httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so

之後,Apache 不再工作:

C:\Apache24\bin>httpd.exe -k start
httpd.exe: Syntax error on line 76 of C:/Apache24/conf/httpd.conf: Cannot load 
modules/mod_wsgi.so into server: The specified module could not be found.

它說找不到mod_wsgi.so,但是我檢查了很多次,就在那裡!我對網站中的每四個可用 64 位元版本都嘗試了相同的過程,但它們都給出了相同的錯誤。我不知道發生了什麼事。我已經嘗試過使用 VC9、VC11 編譯的 Apache Haus 2.4.12 以及使用 VC10 編譯的 Apache Lounge 2.4.12。有人可以幫我嗎?


附:這個問題這個問題沒有解決我的問題。一切都已經是 64 位元了,我正在正確加載模組,並且為所有用戶安裝了 Python。

答案1

我想我找到了解決方案。我很困惑要下載哪個文件具有 mod_wsgi.so Windows 二進位檔案的站點。這就是檔案名稱的結構(這是我不理解的):

mod_wsgi[WSGI 版本]+ap[Apache 版本]vc[用於編譯 Apache 的 Visual C++ Redistributable 版本]‑cp[Python 版本]‑none‑win[32/64 位元版本].whl

有些人遇到相容性問題,因為它需要匹配確切的Apache 版本,使用確切的Visual C++ Redistributable 版本進行編譯,安裝了指定的確切Python 版本,所有這些都根據您下載的檔案為32 位元或64 位元版本。如果其中一些內容不匹配,您將遇到我遇到的錯誤。解決方案是根據您安裝的內容下載適當的文件,或安裝可用於這些 Windows 二進位的檔案。就我而言,我嘗試使用 Python 2.7 64 位,不幸的是這個版本沒有 mod_wsgi 二進位。這是我安裝的:

  • Python 2.7.9 32 位
  • 阿帕契豪斯2.4.12 32位VC9
  • mod_wsgi-4.4.11+ap24vc9-cp27-none-win32.whl

然後我解壓縮 .whl 文件,將其放在模組資料夾中,並在 httpd.conf 中為其添加 LoadModule 指令。遺憾的是我必須使用 32 位元架構,但至少現在一切似乎都運作得很好,並且 wsgi_module 出現在httpd -M已載入模組的清單中。希望這個回答可以幫助到有需要的人!

答案2

本主題對於 Windows 10、xampp Web 伺服器也很有用。我正在努力尋找 Apache/2.4.27 (Win32) Python/2.7.13 的預編譯 mod_wsgi.so關聯對於尋找 mod_wsgi 的適當版本很有用。您可以按照renatov的建議下載.whl文件

相關內容