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) ブラウザ上で次のアドレスを実行します。

 

https://localhost/phpinfo.php

 

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