ホーム >  Python >  WSGIとは?PythonとWebアプリケーション

投稿日:   |  最終更新日:

WSGIとは?PythonとWebアプリケーション

Python

python_logo

PythonはWebアプリ/Webサービスを作るときのプログラミング言語です。PHPと同様にZope、Twisted、Django、TurboGears等複数のフレームワークが存在します。

ただ、使用するフレームワークによって、利用可能なサーバーが制限されてしまったり、逆にサーバーによって利用可能なWebアプリケーションフレームワークが制限されることがあります。

WSGI(Web Server Gateway Interface)とは、サーバーとWebアプリケーションをつなぐ共通のインターフェースをPythonで定義したもです。

WSGIが必要なわけ

インターフェースというと難しく思えますが、要するにWSGIはクッションです。

例えば、JavaはサーバーとWebアプリケーションをつなぐ際にJava Servelet APIを使います。すると、フレームワークを気にせずに動作させることが可能です。

つまり、WSGIはJavaにおけるJava Servelet APIです。WebサーバーとWebアプリケーション間のインターフェースを定義しています。WSGIを利用することで、WebサーバーとWebアプリケーションフレームワークの組み合わせを柔軟に選択することができます。

WSGIを使うには?

WSGIをサポートしているWebアプリケーションであれば、WSGIをサポートするWebサーバーで動かすことができます。また、Apacheを使用していてmod_wsgiモジュールが利用可能なサーバであれば、WSGIアプリケーションを直接実行できます。

サーバ側でmod_wsgiモジュールが提供されてい無い場合は、WSGIアプリケーションをCGIとして動作させるためのモジュールがPython(Python2.5以降)に標準で組み込まれています。少しのコードを追加するだけで動作させることができます。

Zopeの場合

Zopeはそれ自体がWebアプリケーションサーバーとして動作するフレームワークです。

Zope2は、Webアプリケーションサーバとして動作させることしかできません。サーバ上で動作させるには新しくサーバプロセスを立ち上げなければいけませんでした。そのため、Zopeはサーバープロセスが追加できるサーバでなければ動作させることができませんでした。

Zope3は、Zope自体をWSGIアプリケーションとして動作させることができるようになりました。サーバープロセスを立ち上げられないサーバでも動作させることができるようになりました。

開発準備

Windows環境で準備します。

①作業用フォルダを作成し、ここにpythonをインストールします。Cドライブの直下に以下のフォルダを作成します。

  • C/
  • bin/
  • testpg/
  • installer/

bin ・・・ ソフトウェアのインストール先(ここにPythonをインストール)

testpg ・・・ テストプログラム格納先

installer ・・・ 各種インストーラーファイル格納先。納品時に便利です。

②python2.xをダウンロードしてインストールします。

www.python.org

以前は、cドライブ直下にpythonをインストールしましたが、作業用フォルダーへインストールします。面倒ですが、アンインストールして再度行います。

wsgi0001

wsgi0002

インストールパスは、「C\dev\bin\python27」とします。

あとはデフォルトのままNextをクリックします。

動作確認

WSGIの動作確認をします。

①以下のコードを、test_wsgi_1.pyというファイル名で保存します。

# -*- coding:utf-8 -*-

from wsgiref.simple_server import make_server, demo_app

httpd = make_server('', 8000, demo_app)
print u”ポート番号8000にてHTTPリクエスト受付中・・・”
httpd.handle_request()

②「testpg」フォルダに保存します。

  • C/
  • bin/
  • testpg/
  • test_wsgi_1.py
  • installer/

③コマンドプロンプトを立ち上げます。カレントディレクトリをcの直下にするため、以下のコマンドを実行します。

cd c:\

④以下のコマンドを実行します。

c:\dev\bin\python27\python.exe c:\dev\testpg\test_wsgi_1.py

⑤「ポート番号8000にてHTTPリクエスト受付中・・・」がコマンドプロンプトに表示されます。

⑥ブラウザを開き、URLに「http://localhost:8000/」を入力します。すると、「Hello world! 」が表示されて文字がたくさん出れば成功です。

wsgi0003

※FirefoxかChromeで開いてください。

これがもっともシンプルなWGSIアプリケーションです。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告