WS2008 R2と最新OS Azureでのサーバー構築
Windows Server 2008 R2の変更点
本連載の最後はWindows Server 2008 R2(以下WS2008 R2)での変更点をまとめました。執筆現在(2009年7月)では、WS2008 R2はRC版が出ている状態です。WS2008 R2はWindows 7と同一カーネルを利用するサーバー版ですが、Windows 7の発売日が2009年10月22日と決まっているのに対し、こちらは発売日がまだ公表されていません。
本記事ではこのRC版を元に説明していきます。筆者はインストールマニアックス2009の決勝戦で使われた際に初めて触ったのですが、正直なところ、この時はユーザーインターフェースの違いなどに戸惑ってしまいました。
WS2008 R2ですが、主に以下のような変更があります。
・OS自体がWindows 7ベースとなった
・32bit版が無くなり64bit版のみとなった
・IISのバージョンが7.0から7.5に変わった
・仮想化機能が充実した
・Windows 7のクライアントと連携した新しい機能が追加された
・PowerShellのバージョンが2.0になった
・その他、管理の合理化や拡張性・信頼性の向上など
※上記の内、IISのバージョンに関しては公式サイトのドラフトドキュメントは所々IIS7.0だったり7.5だったりと記載がまちまちですが、RC版を使用してみたところバージョンは7.5となっていましたので、WS2008 R2からのIISバージョンは7.5であると判断しています。
まず見た目で気になるのは、デスクトップに「PowerShell」の起動用アイコンが付いているところです。WS2008 R2から、GUIでの操作は裏でPoerShellコマンド(コマンドレットと呼ぶらしい)が投げられるという仕組みになりました。今まではGUIとコマンドラインでは独立した別の機能でした。
IIS7.5で変わる事
WS2008 R2での大きな変更点は前述の通りですが、ここではIISでの変更点を掘り下げてみようと思います。IIS公式サイト内のブログ(http://blogs.iis.net/)で主に紹介されているIIS7.5の変更点をまとめました。
・ファイル圧縮の変更
ファイル圧縮をする対象となるファイルの最小サイズが256bytesから2,700bytesに変更。動的コンテンツの圧縮がデフォルトで有効になりました。MIMEタイプが「application/atom+xml」や「application/xaml+xml」の場合が静的コンテンツ圧縮の対象になった等。
・FastCGIでphp.iniなどの設定ファイルの変更を検知し自動的にアプリケーションプールをリサイクル
「IISマネージャ > コンピュータ名 > FastCGIの設定」から任意のプログラムを選択し「編集 > MonitorChangesTo」に php.iniを指定する事で、それ以降php.iniに変更が発生すると自動的にアプリケーションプールがリサイクルされるようになりました。
・FastCGIの自動チューニング
「IISマネージャ> コンピュータ名 > FastCGIの設定」から任意のプログラムを選択し「編集 > MaxInstances」に0を指定する事で、インスタンス数をIISに自動調整させる事が可能です。IISは数秒ごとにインスタンス数の調整を行います。
・FastCGIで標準エラー出力の振る舞いを制御可能に
「IISマネージャ> コンピュータ名 > FastCGIの設定」から任意のプログラムを選択し「編集 > StderrMode」を変更する事で以下のいずれかの挙動をとるように指定可能になりました。
・標準エラー出力を含めたHTTPレスポンスコード500番を返す
・一般的な500番のページを返す
・標準エラーを無視して200番を返す
・プロセスを終了させる
・FastCGIにて標準エラー出力からIISのFREBトレースへの連携が可能に
例えば、PHPで「error_log(“IIS_TRACE_INFO: hoge :IIS_TRACE_END”);」とするとIISのトレースログ機能上でINFO として表示されるようになりました。