走っていますApache (Haus) 2.4.12 64 ビットWindows 7 64 ビット版。Python 2.7.9 64 ビットインストールされています。Apacheはロードしない限り問題なく動作します翻訳:. mod_wsgi.soを以下からダウンロードしましたこのサイトこのファイルを抽出し、コピーしましたmod_wsgi.soにC:\Apache24\モジュールそしてこの行を追加しました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ですが、何度も確認しましたが、そこにあります。サイトで利用可能な 4 つの 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++ 再頒布可能バージョン]‑cp[Python バージョン]‑none‑win[32/64 ビット バージョン].whl
互換性の問題を抱えている人もいます。これは、ダウンロードしたファイルに応じて、Apache のバージョンを正確に一致させ、Visual C++ 再頒布可能バージョンでコンパイルし、Python のバージョンを正確にインストールし、これらすべてを 32 ビットまたは 64 ビット バージョンでインストールする必要があるためです。これらのうちいくつかが一致しない場合は、私が経験したようなエラーが発生します。解決策は、インストールしたものに応じて適切なファイルをダウンロードするか、これらの Windows バイナリで動作するために利用可能なものをインストールすることです。私の場合は、Python 2.7 64 ビットで動作しようとしていましたが、残念ながらこのバージョン用の mod_wsgi バイナリはありません。そのため、私がインストールしたものは次のとおりです。
- Python 2.7.9 32 ビット
- Apache Haus 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ウェブサーバーにも役立ちます。私は、Apache/2.4.27 (Win32) Python/2.7.13用のコンパイル済みmod_wsgi.soを見つけるのに苦労しました。リンクmod_wsgiの適切なバージョンを見つけるのに役立ちます。renatovの提案に従って.whlファイルをダウンロードできます。