FastCGI - Technical preview
Technical preview版のIIS FastCGIがWeb(英語サイト)よりダウンロード可能となりました。
IIS FastCGIとはIIS上でホストされるPHPなどのアプリケーションフレームワークを、高パフォーマンスで確実にIIS上で利用可能にするコンポーネントです。
そしてFastCGIはWebサーバーと共に標準の方法でIISの機能の一部としてサポートされ、既存のCommon Gateway Interface (CGI)の代わりに、高パフォーマンスを提供します。
一般的にCGIプログラムはWebサーバーによって別プロセスで実行され、クライアントからのリクエストを処理し、その後、動的なレスポンスを生成し、最後にそれをクライアントに返します。
これらCGIの多くはマルチスレッドをサポートせず、プロセスごとに一つのリクエストを正確に実行しますが、クライアントからのリクエスト処理への、プロセス開始とシャットダウンに対するコストが掛かるので、高いパフォーマンス望む事は出来ません。
FastCGIは連続したクライアントからのリクエスト対して、CGIプロセスを再利用することで、このパフォーマンスの問題を解決します。
このTechnical previewはWindows Vista とWindows Server コードネーム"Longhorn"に対して、FastCGIをサポートするIIS7モジュールを提供します。そして、Windows Server 2003, Windows XPといった旧バージョンのIISをサポートするOSにはFastCGIを提供するISAPI拡張を提供します。
Microsoft IIS FastCGI コンポーネントの最終バージョンがリリースされる時 (恐らくWindows Server コードネーム"Longhorn"のリリース時) は、更に改善された高パフォーマンスを提供し、残りのIISの新機能と共にサポートされるでしょう。
それでは簡単にFastCGIを利用したPHPの環境を、Windows XP SP2にセットアップする方法をご紹介します。ぜひお試し下さい。
1) 以下からFastCGI TechPreviewのzipファイルをダウンロードし、そのzipファイルをシステムドライブに展開します。私の環境ではIS6-FastCGI-TechPreview2-x86.zipファイルをDドライブに展開し、D:\ IS6-FastCGI-TechPreview2-x86というフォルダーを作成しました。
https://www.iis.net/downloads/default.aspx?tabid=34&i=1300&g=6
2) コマンドプロンプトを開きD:\ IS6-FastCGI-TechPreview2-x86に移動した後、このコマンドを実行します。
D:\IS6-FastCGI-TechPreview2-x86>cscript fcgisetup.js /install
無事FastCGIがInstallされるでしょう。
3) FastCGI上でPHPをインストール、そして構成するために、こちらよりWindows用のPHP 5.2.1 zip packageをダウンロードし、その後システムドライブに展開します。私の環境ではD:\php-5.2.1-Win32というフォルダーが作成されました。
https://us2.php.net/downloads.php
4) 先ほどのコマンドプロンプト上で、PHPがFastCGIで利用できるようにこのコマンドを実行します。
D:\IS6-FastCGI-TechPreview2-x86>cscript fcgisetup.js /r /add D:\php-5.2.1-Win32\php-cgi.exe PHP
無事PHPがIIS FastCGIで利用出来るように、登録されるでしょう。
5) phpinfo.phpという.txtファイルを作り、下のPHPスクリプトを入力後、IISのルート仮想ディレクトリ以下に保存します。私の環境ではd:\inetpubs\wwwrootに保存しました。
<?php
phpinfo();
?>
6) ブラウザ上で次のアドレスを実行します。
phpスクリプトが実行され、phpの情報がブラウザ上に出力されるでしょう。
7) アンインストールはこのコマンドで行います。
D:\IS6-FastCGI-TechPreview2-x86>cscript fcgisetup.js /uninstall
[インストール場所]
FastCGIはこちらからインストール出来ます。
FastCGI for IIS7 https://www.iis.net/downloads/default.aspx?tabid=34&i=1299&g=6
FastCGI for IIS7 (x64) https://www.iis.net/downloads/default.aspx?tabid=34&i=1343&g=6
FastCGI for IIS 5.1\6.0 https://www.iis.net/downloads/default.aspx?tabid=34&i=1300&g=6
FastCGI for IIS 5.0\6.0 (x64) https://www.iis.net/downloads/default.aspx?tabid=34&i=1344&g=6
[ドキュメント]
FastCGI for IISについてはこちらをご覧下さい。(英語) https://www.iis.net/default.aspx?tabid=1000051
FastCGIの詳細はこちらをご覧下さい。(英語) https://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm.
PHPとIIS FastCGIの利用についての詳細はこちらをご覧下さい。(英語) https://www.iis.net/default.aspx?tabid=2&subtabid=25&i=1345
Comments
- Anonymous
January 21, 2008
PingBack from http://websitescripts.247blogging.info/blog-fastcgi-technical-preview/