23

mod_python の設定に関する Google で検索されたいくつかのチュートリアルに従おうとしましたが、毎回失敗しました。ステップバイステップのしっかりしたハウツーはありますか?

私の開発ボックスは OS X、本番 - Centos です。

4

4 に答える 4

12

Apache で Python を実行するには、主に 2 つの方法があります。最も単純な方法は、CGI を使用して通常の Python スクリプトを作成することであり、2 つ目は Django や Pylons などの Web フレームワークを使用することです。

CGI の使用は簡単です。Apache 設定ファイルに cgi-bin が設定されていることを確認してください。そうでない場合は、ドキュメントに従ってください ( http://httpd.apache.org/docs/2.0/howto/cgi.html )。その時点で、Python スクリプトを cgi-bin ディレクトリに配置するだけで、標準出力が HTTP 応答になります。詳細については、Python のドキュメント ( https://docs.python.org/library/cgi.html ) を参照してください。

Web フレームワークを使用する場合は、mod_python または FastCGI をセットアップする必要があります。これらの手順は、使用するフレームワークによって異なります。Django は mod_python と Django を Apache でセットアップする方法について明確な指示を提供します ( http://www.djangoproject.com/documentation/modpython/ )

于 2008-08-07T18:40:53.337 に答える
10

はい、mod_pythonの設定はかなり混乱しています。これが私がそれをした方法です。

httpd.confの場合:

LoadModule python_module modules/mod_python.so

<Directory "/serverbase/htdocs/myapp">
  AddHandler mod_python .py
  PythonHandler myapp
  PythonDebug On

およびアプリケーションディレクトリ内:

$ /serverbase/htdocs/myapp$ ls -l
total 16
-r-xr-xr-x 1 root sys        6484 May 21 15:54 myapp.py

mod_pythonで実行するPythonプログラムごとに構成を繰り返します。

于 2008-08-07T19:02:57.850 に答える
5

UNIXまたはWindowsでPythonを実行していますか?

mod_pythonとFastCGIの代わりにmod_wsgiがあります。modwsgiで詳細を確認できます

私はこれを問題なくSolarisにビルドしてインストールしました。以前にmod_pythonを試しましたが、ビルドの一部として共有ライブラリで問題が発生しました。利用可能な優れたインストールドキュメントがあります。

于 2008-08-07T19:05:58.310 に答える
0

私にとっての問題は、Apache の設定ではなく、mod_apache が実際に .py ファイルをどのように使用するかを理解することでした。if __name__=='__main__'モジュール レベルのステートメント (セクション内のステートメントを含む) は実行されません。コマンドラインでスクリプトを実行することによる stdout がサーバーが出力するものであると想定しましたが、それは機能しません。

代わりに、 というモジュール レベルの関数index()を作成し、ページの HTML を文字列として返すようにしました。otherFunction()URI 内のさらなるセグメントとしてアクセスできる他のモジュール レベル関数 (例: ) を持つことも可能です(例:testScript/otherFunctionファイルtestScript.py)。

明らかに、これは私の元の stdout の概念よりも理にかなっています。巨大なマークアップ言語ではなく、スクリプト言語として実際に Python を使用するための優れた機能。

于 2013-02-09T20:05:07.307 に答える