私は実行しています Apache(Haus)2.4.12 64ビット Windows 764ビットで。 Python 2.7.9 64ビット がインストールされています。 mod_wsgiをロードしようとしない場合、Apacheは問題なく実行されています。 このサイト からmod_wsgi.soをダウンロードしました。このファイルを抽出し、mod_wsgi.soをC:\ Apache24\modulesにコピーしました-)そしてこの行を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が見つからなかったと表示されますが、何度もチェックしました。サイトで利用可能な4つの64ビットバージョンごとに同じ手順を試しましたが、すべて同じエラーが発生します。何が起こっているのかわかりません。私はすでにVC9、VC11でコンパイルされたApache Haus 2.4.12と、VC10でコンパイルされたApache Lounge2.4.12を試しました。誰か助けてくれませんか?
PS: この質問 および この質問 私の問題は解決しませんでした。すべてがすでに64ビットであり、モジュールを正しくロードしており、Pythonがすべてのユーザーにインストールされています。
私は解決策を見つけたと思います。どのファイルをダウンロードするかについて混乱しました mod_wsgi.soのWindowsバイナリがあるサイト 。これがファイル名の構造です(これは私が理解していなかったものです):
mod_wsgi [WSGIバージョン] + ap [Apacheバージョン] vc [Apacheのコンパイルに使用されたVisualC++再頒布可能バージョン] ‑cp [Pythonバージョン] ‑none‑win [32/64ビットバージョン] .whl
一部の人々は、正確なApacheバージョンと一致する必要があり、正確なVisual C++再頒布可能バージョンでコンパイルされ、正確なPythonバージョンが指定されています。これらはすべて32ビットまたは64であるダウンロードしたファイルに応じたビットバージョン。これらのいくつかが一致しない場合は、私が持っていたエラーが発生します。解決策は、インストールしたものに応じて適切なファイルをダウンロードするか、インストールするものをインストールすることです。これらのWindowsバイナリで作業できます。私の場合、Python 2.7 64ビットで作業しようとしていましたが、残念ながら、このバージョンのmod_wsgiバイナリはありません。インストールしたものは次のとおりです。
次に、.whlファイルを解凍し、modulesフォルダーに配置して、httpd.confにLoadModuleディレクティブを追加しました。 32ビットアーキテクチャで作業しなければならないのは残念ですが、少なくとも今ではすべてが正常に機能しているようで、ロードされたモジュールのhttpd -M
リストにwsgi_moduleが表示されます。この答えが困っている人に役立つことを願っています!
このトピックは、Windows 10、xamppWebサーバーにも役立ちます。 Apache/2.4.27(Win32)Python/2.7.13用にプリコンパイルされたmod_wsgi.soを見つけるのに苦労していました。この link は、mod_wsgiの適切なバージョンを見つけるのに役立ちます。 renatovの提案に従って.whlファイルをダウンロードできます