web-dev-qa-db-ja.com

mod_wsgiがWindows7のApache2.4.1264ビットで機能しない

私は実行しています Apache(Haus)2.4.12 64ビット Windows 764ビットで。 Python 2.7.9 64ビット がインストールされています。 mod_wsgiをロードしようとしない場合、Apacheは問題なく実行されています。 このサイト からmod_wsgi.soをダウンロードしました。このファイルを抽出し、mod_wsgi.soC:\ 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がすべてのユーザーにインストールされています。

1
renatov

私は解決策を見つけたと思います。どのファイルをダウンロードするかについて混乱しました mod_wsgi.soのWindowsバイナリがあるサイト 。これがファイル名の構造です(これは私が理解していなかったものです):

mod_wsgi [WSGIバージョン] + ap [A​​pacheバージョン] vc [Apacheのコンパイルに使用されたVisualC++再頒布可能バージョン] ‑cp [Pythonバージョン] ‑none‑win [32/64ビットバージョン] .whl

一部の人々は、正確なApacheバージョンと一致する必要があり、正確なVisual C++再頒布可能バージョンでコンパイルされ、正確なPythonバージョンが指定されています。これらはすべて32ビットまたは64であるダウンロードしたファイルに応じたビットバージョン。これらのいくつかが一致しない場合は、私が持っていたエラーが発生します。解決策は、インストールしたものに応じて適切なファイルをダウンロードするか、インストールするものをインストールすることです。これらのWindowsバイナリで作業できます。私の場合、Python 2.7 64ビットで作業しようとしていましたが、残念ながら、このバージョンのmod_wsgiバイナリはありません。インストールしたものは次のとおりです。

  • Python 2.7.932ビット
  • Apache Haus 2.4.1232ビットVC9
  • mod_wsgi‑4.4.11 + ap24vc9‑cp27‑none‑win32.whl

次に、.whlファイルを解凍し、modulesフォルダーに配置して、httpd.confにLoadModuleディレクティブを追加しました。 32ビットアーキテクチャで作業しなければならないのは残念ですが、少なくとも今ではすべてが正常に機能しているようで、ロードされたモジュールのhttpd -Mリストにwsgi_moduleが表示されます。この答えが困っている人に役立つことを願っています!

2
renatov

このトピックは、Windows 10、xamppWebサーバーにも役立ちます。 Apache/2.4.27(Win32)Python/2.7.13用にプリコンパイルされたmod_wsgi.soを見つけるのに苦労していました。この link は、mod_wsgiの適切なバージョンを見つけるのに役立ちます。 renatovの提案に従って.whlファイルをダウンロードできます

0
Purushothaman