【ワレコのウェブ入門】IIS と IIS Express ややこしいぞ

この記事は約10分で読めます。
スポンサーリンク

Windows 7(64bit版)でWEBプログラミングを始めたのが2015年8月くらいだ。

良く分からないまま、Visual Studio でWEBフォームアプリを選択して実行するとInternet Explorer 11 が起動してそのWEBフォームが開いた。

その時には、

http://localhost:1234/index.html

みたいに localhost つまり自分のパソコン上でそのWEBサイトの index.html ファイルが開く。

この時に混乱したのは、このindex.htmlを表示しているWEBサーバーはいったい何やねん?と言う事だった。

まあ、たぶんIIS ExpressIIS かのどちらかだと思ったのだが、それ以外に、自分で

XAMPP Version 5.6.8

を実験でインストールしていたのでその中のApacheサーバーの可能性もある。

この記事では、Windows上でVisual Studioを使ってWEBサイトを開発する場合に混乱し易いIISとIIS Expressについて調査してみた。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
スポンサーリンク
スポンサーリンク

IIS, IIS Expressとは何か?

ワテの場合、長年Windowsを使っているので、IISやIIS Expressと言う言葉は良く知っている。

でも、詳しい事は知らない。

知っているのは、どちらもWindows上で動くWEBサーバーと言う事だけだ。

なので、まずは、両者の違いを理解しよう。

WikipediaでIIS, IIS Expressの違いを学ぶ

IISとApache HTTP Serverのウィキペディアから引用すると以下の通り。

IIS

Microsoft Internet Information Services (IIS) は、Microsoft Windowsの標準Webサーバー(アプリケーションサーバー)サービスである。HTTP/HTTPS、FTP、SMTP、NNTP等の基本的なプロトコルはサポートしている。クライアント版に付属するIISでは機能制限が行われている[1]

もともとInternet Information Serverという名称で、Windows NT Server上で稼働するアドオンソフトウェアという位置付けであったが、Windows 2000 Server登場時にシステムの標準サービスに位置付けられ、現名称に改められた。

IIS Express

IIS に比べて対応機能が少ない「ASP.NET 開発サーバー」 (Cassini) を利用せずに IIS の全機能を開発環境で使用するために公開された。ASP.NET 開発サーバーと同様に IIS のインストールが不要で、localhost 接続要求のみ受け付ける。また、古いバージョンの OS でも新しい IIS の機能を使用することができる。

IIS 7.5 と同等の IIS Express 7.5、IIS 8.0 と同等の IIS Express 8.0 が公開されており、Visual Studio 2010 Service Pack 1 で対応し[4]、Visual Studio 2012 で ASP.NET 開発サーバーから置き換えられた[5]

Apache

Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、世界中でもっとも多く使われているWebサーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されている。単にApacheとも称されている。

開発は、Apacheソフトウェア財団のApache HTTPサーバプロジェクトで行われている。Apache Licenseの下でソースコードが公開および配布されており、代表的なオープンソースソフトウェアの一つである。

引用元 IISとApache HTTP Serverのウィキペディア

 

まあ、IISの簡易版がIIS Expressと言う事か。

ちなみにマイクロソフト社の製品の場合、Expressが付くと簡易版や無料版と言う意味合いになる事が多い。

他には

  • SQL SERVER 有料製品
  • SQL SERVER Express 無料製品

などもある。それ以外にもあるのかな?

IIS Expressのバージョンやexeの場所を調べる

さてWindows7 x64 には標準でIIS Expressが入っているというのはネットを調べて知った。

では、そのEXEの場所やバージョンは何なのだろうかと思って調べたら以下の通り。

IIS Expressの実行ファイルは以下にある。

 C:\Program Files\IIS Express\iisexpress.exe

そのファイルを右クリックして上図のようにプロパティを表示すると、

IIS Express 8.5

のようだ。

なお、ワテの場合、その後 Windows10 (x64) を使っている。

その環境でも調べてみたが、iisexpress.exeの場所は上に示した場所と同じだった。

また、そのファイルバージョンは、

10.0.14358.1000

となっているので、IIS Express 10.0 のようだ。

まとめると以下の通り。

OS IIS Express IIS
Windows 7 IIS Express 8.5 この後で調べる
Windows 10 IIS Express 10.0  この後で調べる

 

IISのバージョンやexeの場所を調べる

では、IIS はどうなっているんだ?と思って調べたら、Windows7 にはIIS もデフォルトで入っているが、有効化されていないだけだった。

そのIIS を有効化するには、以下の手順で可能だ。

コントロールパネル

プログラムと機能

Windowsの機能の有効化または無効化

図 「プログラムと機能」の「Windowsの機能の有効化または無効化」画面

チェック項目が多いのでどれを選択したら良いのか迷ったのだが、分からなければ全部選択しても良い。

でも、それだと勉強にならないので、

インターネット Web サーバー構築ガイドライン – MSDN – Microsoft

 

を参考に、自分に必要そうなサービスだけを選んでみた。

で、動作確認は、

http://localhost/

をクリックすると、下図の画面が出ればIISサーバーが動いていることが確認出来る。

図 IISのスタートページの例

IIS 7

と表示されているが、IIS 7 なのか IIS 7.5 なのか気になる。

IIS の実体は、

C:\Windows\System32\inetsrv\InetMgr.exe

にあるが、同じくプロパティを確認してみると

IIS 7.5 なのかな。

同じく、Windows10の環境では、ファイルバージョン10.0.14393.0 と表示されたので IIS10.0 のようだ。

ここまで分った事をまとめると下表の通り。

OS IIS Express IIS
Windows7 IIS Express 8.5 IIS 7.5
Windows10 IIS Express 10.0  IIS10.0

ということで、現在のところワテのWindows7にはIIS Express 8.5 とIIS 7.5 が入っていてどちらも動いている。

正確に言うと、IISサーバーは常時動いている。

一方、IIS Expressのほうは、Visual StudioでWEBアプリを実行した時だけ動くのかな。たぶん。

Apacheサーバー

最後のApacheサーバーに関しては、PHPのインストールのために、全部一体になっているXAMPPを入れた時に一緒に入れたのだが、現状では動かしていない。

もし動かしたい場合はとても簡単で、

xampp-control.exe

を実行するだけで良い。

そうすると、

XAMPP Control Panel

が開くので、ApacheStartするだけで良い。

とても簡単だ。

まとめ

Windows7にはIISもIIS Expressも標準でインストールされている。

使いたい場合には有効化すれば良い。

Windows10の場合も同じである。

まとめると下表の通り。

OS IIS Express IIS
Windows7 IIS Express 8.5 IIS 7.5
Windows10 IIS Express 10.0  IIS10.0

 

ちなみに、ワテの場合はその後開発環境を

Windows7x64、Visual Studio 2015 Community

から

Windows10x64、Visual Studio 2017 Community

に移行した。

その環境で、ASP.NET MVCなどを使ってWEBサイトを作成する事が多い。

デバッグ作業はWindows10に入っているIISを使うが、IIS Expressでもデバッグは出来る。

IISでもIIS Expressでも、どちらを使ってもJavaScript, TypeScriptのデバッグが可能だ。

ブレークポイントをセットして、ブレークさせて変数の中身を確認するなども出来る。

でも、WEBサイトを運用している本番環境 (Windows Server 2012R2) ではIISが動いているので、ローカルのデバッグ作業でも同じIISを使っておくほうが良いだろう。

応用編 – ASP.NET MVCサイトの例

2017年のゴールデンウイークを利用して新しいWEBサイトを作ってみた。

名付けて、

最安価格サーチ

クリックで開く

初回起動時のみ3秒くらい掛かりますがご了承下さい。

何が出来るかと言うと、

Amazon.co.jp

楽天市場

ヤフーショッピング

の三つのショッピングサイトを同時検索して、商品を価格の安い順に表示出来るお買い物支援サイトだ。

例えば「最安価格サーチ」で、

「Visual Studioプログラミング」をかなり安値で探したい人は こちらから>

「C#プログラミング」をかなり安値で探したい人は こちらから>

もしお使い頂きまして何かご不明な点、改善案などありましたらお知らせ下さい。

そのASP.NET MVCのサイトを運用しているのがWindows VPSだ。

Window VPSを借りる

IISやIIS Expressに興味がある人は、Windows VPSを借りて自分専用のWEBサイトの構築を検討している人も多いだろう。

Windows VPSの場合には、自宅のパソコンでVisual Studio を使ってWEBサイトを作成し、Web Deployの方法で簡単にWindows VPSサーバーに発行出来る。

Windows VPSは各社が提供しているが、ワテのお勧めはABLENET社だ。

 

安くて、安定していて、サポートも迅速なのでワテは大変気に入っている。

皆さんにもお勧めしたい。

サーバー選びで迷っている人のために、ワテの経験に基づくサーバー選定のコツを解説したサイトを作成した。

われこ式レンタルサーバー比較 失敗しないレンタルサーバーの選び方

だ。

どの VPSを借りるか迷うと思うが、今の時代、どの会社も月額数百円程度からVPSを借りられるので、兎に角試してみるのが良いだろう。

5分も有ればお試し契約が完了し、30分後くらいからすぐに利用できる。

無料で2週間前後もお試し利用が出来るので、こんなに便利なものは兎に角自分の目で見て触ってみるのが良いだろう。

 

IISの本を読む

IIS8の本は少ない。この本↑は数少ないIIS8の本だ。

でもワテには難しい。英語だからだ。

 

この本はWindows Server 2012 R2の本なので、IIS関連の説明も多分書いてあると思うがワテは読んでいないのであくまで推測です。

マイクロソフトの人が書いているので内容は確かだと思う。

 

ASP.NETプログラミングは面白い。

是非皆さんもどうぞ。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
コメント募集

この記事に関して何か質問とか補足など有りましたら、このページ下部にあるコメント欄からお知らせ下さい。

ASP.NETIISWindows
スポンサーリンク
warekoをフォローする
スポンサーリンク
われこ われこ

コメント