2

今日一日中、Mac OS X Snow Leopard の XAMPP を介して Apache で MOD_WSGI を動作させようとしましたが、成功しませんでした。私はすべての指示に従い、インターネットで解決策を検索しましたが、今のところうまくいきません。以下は私の正確な手順と詳細です。localhost を実行すると、白い画面しか表示されません。「LoadModule wsgi_module modules/mod_wsgi.so」を httpd.conf から削除すると、localhost が期待どおりに実行されます。

  1. Xcodeをダウンロードしてインストールしました。
  2. XAMPP は既にインストールされ、動作しています。
  3. OS X には既に 64 ビット モードの Python 2.6 があるため、Python をインストールする必要はありません。
  4. mod_wsgi-2.6.tar.gz をデスクトップにダウンロードして解凍します。
  5. ターミナル "./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-python=/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6" (いいえエラー)
  6. ターミナル "make" (メッセージ "make: `all' に対して何もする必要はありません。")
  7. ターミナル「sud​​o make install」(エラーなし)
  8. XAMPP の httpd.conf ファイルに追加します。

LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
WSGIScriptAlias /app-sample "/Applications/xampp/xamppfiles/htdocs/app-sample/main.py"

<Directory "/Applications/xampp/xamppfiles/htdocs/app-sample">  
Order deny,allow  
Allow from all  
</Directory>  

  1. XAMPP経由でApacheを再起動します
4

1 に答える 1

3

まず、'make distclean' を実行してから、mod_wsgi の configure/make/make install をやり直します。「Terminal "make" (message "make: Nothing to be done for `all'.")」がある場所は、ディレクトリに以前のビルド結果があり、その make の実行に対して何もビルドされなかったことを示します。

次に、「.py」の代わりに「.wsgi」拡張子を使用して、「.py」ファイルを CGI スクリプトとして実行する必要があるという既存の定義と競合しないようにします。これは、応答が空白になる一般的な理由の 1 つです。Apache エラー ログから、これが問題であるという手がかりが得られるはずです。

また、サンプル アプリケーションは何をしますか? 独自のプログラムを使用するのではなく、mod_wsgi サイトのドキュメントに従って単純な hello world プログラムを試しましたか。独自のプログラムのみを使用している場合、使用されている Apache と Python モジュールの間の共有ライブラリの競合が原因で、Apache プロセスがクラッシュする可能性があります。これにより、空白の応答が発生します。繰り返しますが、Apache エラー ログで、リクエストが行われた時点で記録された情報を注意深く確認してください。

最後に、プログラムにバグがあり、返された HTML 応答の構文が正しくないため、表示されない可能性があります。リクエストによって返されたページのソースを表示するようブラウザに依頼し、それが不正な HTML 形式でないことを確認します。

于 2009-11-03T10:28:02.700 に答える