IIS Express 安装及设置

最近在做一些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.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]

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

 

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

 

    启动:start F:/Projects/MicrosoftWebMatrix/iisexpress /config:F:/Projects/XXX/applicationhost.config /systray:true /site:MTLOralDemo

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

 

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

 

2. 远程访问设置

    找到配置文件中 sites/site/bindings 默认是绑定到 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:/IISExpress/DemoApp/empty" />
                </application>
                <application path="/AppService" applicationPool="Clr2IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:/IISExpress/DemoApp/AppService" />
                </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端口,我们整个部门几十个人同时模拟用户访问站点并实际使用。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值