• 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端口,我们整个部门几十个人同时模拟用户访问站点并实际使用。

    原创文字只代表本人某一时间内的观点或结论,本人不对涉及到的任何代码担保。转载请标明出处!

  • 相关阅读:
    将msm文件加到安装项目中去
    css定义滚动条的样式详解
    网页编辑中常用操作的一些问题
    WCF身份验证及无法找到 X.509 证书的终极解决方案
    关于ie8 的margintop 问题
    c#实现随鼠标移动窗体
    符号列表
    拓朴分析之面中检查有几个点(查只有一个点 作为标注)
    新公司上班啦!
    The application is not licensed to perform this operation
  • 原文地址:https://www.cnblogs.com/leleroyn/p/1965016.html
Copyright © 2020-2023  润新知