mod_python
最新版
3.5.0 / 2013年11月13日
リポジトリ ウィキデータを編集
対応OS マルチプラットフォーム
プラットフォーム Python
ライセンス Apache License
公式サイト http://modpython.org/
テンプレートを表示

mod_pythonPythonApache HTTP Serverに結合するためのモジュールである。mod_pythonはWebサーバ上でPythonスクリプトを実行するための手段として、CGIを置き換えることを目的としている。高速な実行速度、複数のセッション間をまたいだ情報の保持などが特長である。

現在では活発な開発はされていないが、メンテナンスを終了することを発表した[1]というわけではなく、単にmod_pythonが十分な完成度に達したため、ほとんどメンテナンスが不要な状態なのだと発表されている[2]

特長

編集

通常のCGIの実行は、サーバ上のスクリプトにコネクションが張られるたびに新しいプロセスを開始する。小規模から中規模トラフィックのサイトではうまく動作するが、高トラフィックのサイトでは十分性能が出ない。FastCGIなどのCGIの性能を改善する方法はあるが、対象の言語をWebサーバ自体に埋め込む専用のモジュールを用いた方が簡単な場合が多い。mod_pythonはそのために設計されている。CGIのようにスクリプトの実行後プロセスが終了しないため、データベースのコネクションのような情報を永続的に持たせることが可能である。これによってスクリプト実行のオーバーヘッドを減少させることができる。

mod_pythonのモジュールはWebサーバに統合されているため、C言語で書かれたApacheモジュールが可能なことがほぼすべて可能である: 例えばHTTP以外のプロトコルの実装、リクエストやレスポンスのフィルタ、ドキュメントのコンテントタイプの決定などである。

もうひとつのmod_pythonの利点は、Apacheの心臓部分を実際に制御するのと同じようなインタフェースで、 Apacheのコアシステムと直接やりとりすることができる点である。これはApacheの設定ファイル内でプログラマが指定したハンドラによって行われ、特定のディレクトリに対するクライアントの各リクエストはApacheでは処理されず、mod_pythonとすべてのリクエストを受け取る "Main" 関数によって処理される。

またmod_pythonを用いると、ASPPHPJavaServer Pages (JSP) に類似したPythonコードをHTMLのページに埋め込むPython Server Pages (PSP) が利用できる。

歴史

編集

mod_pythonの最初のバージョンは2000年にGregory Trubetskoyによってリリースされた。2002年9月mod_pythonはApacheソフトウェア財団に寄贈され[3]Apache HTTP Serverの一部となった。 2013年11月13日にバージョン3.5.0がリリースされ、正式にPython 3系列のサポートが開始された。

脚注

編集

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

Django

も組み合わせて)動作させられる。WSGI/ASGIサーバの例としては、Gunicorn、uWSGI、Uvicorn (ASGI)、mod_wsgiやmod_python (Apache) などがある。また、FastCGIサーバとして起動して、FastCGIをサポートする任意のWebサーバのバックエンドとして使用することもできる。

Web Server Gateway Interface

onで書かれたWebアプリケーションは、FastCGI, mod_python, CGI, さらにはWebサーバ独自のAPIを使ったものなど、様々な方法で実装されていた。 この問題を解決するためにWSGIが考案された。WSGIは、Pythonにおける、WebアプリケーションとWebサーバを接続する標

Apache HTTP Server

なる「Core」がまずあり、そこへモジュールを追加して機能を拡張する。モジュール名は慣習的に「mod_XXX」と付けられる。XXXは機能の概要名である。例えば「mod_dir」「mod_alias」「mod_setenvif」などとなる。 モジュールは「静的リンク」または「動的リンク」により追加でき

ウェブアプリケーション

WebAssembly の概要 - WebAssembly とは何か. MDN web docs ^ 他にもPerlのためのmod_perlやPythonのためのmod_python、Rubyのためのmod_rubyなどが存在する。 ^ これらのアプリはどこでも動作し、ネイティブアプリと同様の使い勝手を提供する様々な機能を提供します。

Webアプリケーションフレームワーク

HTTP Serverは、例えば、Webサーバが任意のコードを実行したり(Mod pythonなど)、特定のリクエストを動的なコンテンツを扱えるWebサーバに転送するような(mod_jk(英語版)など)モジュールをサポートしている。Javaなどの言語で書かれた動的なコンテンツ

MoinMoin

“MoinMoinFeatures”. 2008年11月29日閲覧。 ^ “MoinMoinWikis”. 2008年11月29日閲覧。 ^ 利用にはPythonのインストールが必要 Python mod python ウィキソフトウェア ポータル FOSS 公式ウェブサイト DesktopEdition ThemeMarket

FastCGI

Django, Kepler(英語版)、Plack(英語版)等の最近のフレームワークでは、組み込みインタープリタ(mod_ruby(英語版), mod_perl(英語版), mod_python, mod_lua(英語版)等)、またはFastCGI を使用できる。 FastCGI

パッケージ管理システム

マイクロソフトが管理しているリポジトリ。 PHP Composer Python Python Package Index: Pythonの標準的なパッケージ・リポジトリ。パッケージはpip、EasyInstall、Poetry、uvなどからインストールする。 Conda: 科学計算のためのPython