如何使用IIS Express 来运行网站
IIS Express可以称为轻量级独立版的IIS 7X,是微软近日发布的一款免费的Web服务器,具有IIS 7.5的全部性能优点和轻量级的Web服务器功能。它可以快速从硬盘上的某个文件夹中启动网站程序。
如果我们不能或不想使用IIS作为Web 服务器,可以使用IIS Express来运行网站(如果电脑安装有IIS,可以完全不用理会)。
有些情况下,我们需要启动一个临时的网站(比如快速创建一个临时服务器等),便可以用类似的命令行来创建:
iisexpress /path:<网站目录> /port:<端口> /clr:<CLR版本,V2.0|V4.0>
IISExpress会复制一份配置文件到临时目录,并变更其中的站点信息后再启动,因此不会影响到本机已经配置的网站。
示例:
启动DOS界面,切换到IISExpress的安装目录下:
如: C:\User\lily>cd C:\Program Files\IISExpress 回车
C:\Program Files\IIS Express>IISExpress /path:F:\MPM\ /port:9090 /clr:2.0 回车
鼠标右键单击已经启动的IISExpress服务,选择 “Development Web Site”浏览”http://localhost:9090/”。
该网站的URL为http://localhost:9090/。
创建的临时网站,只针对本地计算机上的浏览器请求提供网页。它不会为其他计算机提供网页。此外它也不会提供应用程序范围外的文件。
我们可以通过修改IIS Express的配置文件”applicationhost.config”来实现我们搭建局域网的目的。默认情况下IIS Express使用的配置文件位于“我的文档”中,路径如下:“我的文档\IIS Express\Config”。其中,”applicationhost.config” 是核心的配置文件,它用于承载站点的定义、应用程序和应用程序池以及整个WEB服务器的配置。由于是放在我的文档中的,所以修改它不需要管理员权限,意味着可以直接修改。在修改后,下次启动应用程序就会起效。
在”applicationhost.config”内容中,<system.applicationHost> 用于定义网站和应用程序池。默认情况下,其内容如下:
IIS Express 内建了五个应用程序池,分别对应.Net 2.0/4.0的集成/经典模式、以及一个非托管程序池。默认的程序池版本有 <spplicationPoolDefaults> 节来配置。<sites>… </sites>节用于配置网站。网站的默认应用程序池和虚拟目录默认配置由 <applicationDefaults> 和 <virtualDirectoryDefaults> 节点配置。以上的节点默认情况下我们并不需要太多关注,因为大多数情况下我们需要关注的只有 <sites> 下的 <site> 节点,这里保存了网站、应用程序的定义,才是我们需要真正关心的。
我先给出一个修改<sites>设置的示例,下面再分开讲解。
<sites>
。。。。。。。。。。。。。。。。。。。。
<application path="/">
<virtualDirectory path="/" physicalPath="F:\MPM" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8001:192.168.100.139" />
</bindings>
</site>
<siteDefaults>
。。。。。。。。。。。。。。。。。。。。。。
</sites>
①.每个 <site> 就是一个网站。
这和IIS中的网站是一样的概念。serverAutoStart 设置了是否随着 IIS Express的启动而自动启动。如果设置为true,那么每次 IIS Express 启动都会自动加载(如果没有指定网站的话),否则只有以指定特定网站的模式运行时才会加载。
使用IIS Express加载特定网站的语法是: IISExpress.exe /site:<站点名>
②.<application> 这个节设置了网站的应用程序
每个网站都需要至少一个映射路径为“/”应用程序(它映射到根目录)。除此之外,我们可以继续添加并行的不同路径的 <application> ,这就类似于IIS中的网站里配置的应用程序。
例如,在website1这个网站中,我需要添加一个单独的应用程序,我们可以这样设置
<application path="/">
<virtualDirectory path="/" physicalPath="F:\MPM" />
</application>
在<site>中,只有 path="/" 这个应用程序是必须的(不能缺少),其它都是可以任意添加的。
③. <site> 下的<bindings>设置了这个站点的绑定信息。
节点下的每个<binding>都是一个端口绑定信息。典型的绑定配置如下:<binding protocol="http" bindingInformation="*:8080:localhost" />
protocol 指定了绑定的协议类型(IIS Express内建了 HTTP 和 HTTPS两种协议支持),而“*:8080:localhost”则指定的绑定的具体信息,它有三个部分组成:“绑定的IP :端口 :主机名”。
示例:
<binding protocol="http" bindingInformation="*:8001:192.168.100.139" />
至此我们就可以保存修改的信息,启动IIS Express应用程序,通过浏览器访问”http://192.168.100.139:8001”网站了,当然也可以通过局域网内的其他计算机访问该网站。
目前,我们已经将IIS Express应用于“直属海事考录系统”中,为我们实现跨平台安装,临时演示,多站点启动应用程序都带来了很大的便利。