程序员人生 网站导航

IIS Express 安装方法及设置教程,附下载

栏目:服务器时间:2014-02-14 18:15:51

最近在做一些Web方面调研的时候我基本上都不用 IIS了,IIS Express 实在是很方便,由于目前还是 BETA版本,有些功能界面上还看不见,网上资料也很少,所以我把我之前的一点经验写出来。

最近在做一些Web方面调研的时候我基本上都不用 IIS了,IIS Express 实在是很方便,由于目前还是 BETA版本,有些功能界面上还看不见,网上资料也很少,所以我把我之前的一点经验写出来。

关注 IIS Express 的最初原因是希望将我们的一个产品部署到 Windows XP Professional上,要知道 2003 Server的价格和 Pro差距还是很大的,对于大批量部署的产品来说,这对产品利润影响相当大。由于我们在开发时使用了 MVC,这个在 XP Pro自带的 IIS5.1上部署,一方面程序要做相应的处理,还需要部署 URL Rewriter之类的东西,相当麻烦,解决了服务器费用,只怕又会带来开发人员出差的费用。

有了 IIS Express,问题基本可全部解决,主要关注的是下面的几个问题:

1. 允许远程访问

2. 要可以支持创建虚拟目录

3. 可以支持运行多个 Web Application

4. 我们的产品是在学校的局域网部署,性能上应满足至少几十人并发要求

1. 安装部署

下载:http://www.wfuwu.com/down/html/31120.html

微软下载:http://www.microsoft.com/web/webmatrix/

IIS Express 是随 Web Matrix 一起发布的,安装Microsoft Web Platform Installer 后,就可以选择安装 IIS Express(英文版中有 IIS Express可以选择,中文版中直接选 Web Matrix)。

介绍可参考Scott博客:http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx

IIS Express overview:http://learn.iis.net/page.aspx/868/iis-developer-express-overview/

从开始菜单运行 Web Matrix 后默认会自动启动一个Web 站点,管理界面比较简单,可以直接将某个目录创建为Web站点。

实际我在使用的时候,基本都是以命令行方式运行的,一般我只用到下面几个参数:

iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]

配置文件可直接基于默认的配置文件修改, 默认使用的配置文件是在 [我的文档]IISExpress8configapplicationhost.config

我现在的用法是直接将 Web Matrix所在目录打包放到光盘上,配置文件随应用程序发布,然后分别创建两个批处理文件,用以启动和停止IIS Express服务,非常方便,批处理内容大概就像这样:

启动:start F:ProjectsMicrosoftWebMatrixiisexpress /config:F:ProjectsXXXapplicationhost.config /systray:true /site:MTLOralDemo

停止:TASKKILL /F /IM iisexpress.exe /T

其他机器根本不需要再安装Web Matrix,,只要装了.Net Framework直接运行就可以了。

2. 远程访问设置

找到配置文件中 sitessiteindings 默认是绑定到 localhost 80端口,如果需要其他机器可以访问,绑定到指定IP地址就可以了。

<binding protocol="http" bindingInformation="*:8080:192.168.79.166" />

3. 虚拟目录设置

类似于下面这样:

<site name="AppService" id="1280170558">
<application path="/" applicationPool="Clr2IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:IISExpressDemoAppempty" />
</application>
<application path="/AppService" applicationPool="Clr2IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:IISExpressDemoAppAppService" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8088:192.168.79.166" />
</bindings>
</site>

我尝试过多个virtualDirectory节点,但发现Web Application不能正常工作,而且多个虚拟目录也不是使用独立的 Web.config,后来通过配置application 解决。

如果站点有Spring之类的东西,运行时会出现错误,请将 applicationPool 配置成 Clr2ClassicAppPool。

4. 配置多个站点

多个站点只要配置多个 site 节点就可以了,具体配置都差不多,但多个站点需要使用不同的端口。

如果需要同时运行多个站点,在批处理中再增加几条修改相应的参数就行了,相当于同时运行多个 iis express 实例。

5. 性能测试结果

分别做了以下测试,测试结果性能满足要求:

1. 写了个简单测试页面,使用Load Runner 进行200路并发压力测试,进行了2小时。

2. 正式产品部署,我们的产品总共运行了9个 iis express进程,分别侦听在8080~8089端口,我们整个部门几十个人同时模拟用户访问站点并实际使用。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐