zoukankan      html  css  js  c++  java
  • iis express添加网站,并启动

    1.查看网站列表

    C:Program Files (x86)Microsoft Visual Studio 12.0>"C:Program FilesIIS Expressappcmd.exe" list site

         

      2.启动网站   根据网站id启动网站

    C:Program Files (x86)Microsoft Visual Studio 12.0>"C:Program FilesIIS Expressiisexpress.exe" /siteid:96

     另一种启动网站方式:

    cmd以管理员方式运行,第一步:cd C:Program FilesIIS Express (一般情况下是这个位置)

    第二步输入:iisexpress /config:"C:UserszhangchunxiaoDocumentsIISExpressconfigapplicationhost.config" /site:FamilyLibrary /systray:true

    其中 /config:"C:UserszhangchunxiaoDocumentsIISExpressconfigapplicationhost.config"  是applicationhost.config所在的路径,/site:FamilyLibrary  是站点名称

    2.配置文件

        默认情况下IIS Express使用的配置文件位于“我的文档”中,路径如下:“我的文档IIS ExpressConfig”。其中,applicationhost.config 是核心的配置文件,它用于承载站点的定义、应用程序和应用程序池以及整个WEB服务器的配置。由于是放在我的文档中的,所以修改它不需要管理员权限,意味着可以直接修改。在修改后,下次启动应用程序就会起效。

       在applicationhost.config内容中,<system.applicationHost> 用于定义网站和应用程序池。默认情况下,其内容如下:

    复制代码
    <system.applicationHost>
        <applicationPools>
            <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%configaspnet.config" autoStart="true" />
            <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%configaspnet.config" autoStart="true" />
            <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%configaspnet.config" autoStart="true" />
            <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%configaspnet.config" autoStart="true" />
            <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
            <applicationPoolDefaults managedRuntimeLoader="v4.0">
                <processModel />
            </applicationPoolDefaults>
        </applicationPools>
        <!--   
        
    The <listenerAdapters> section defines the protocols with which the   
    Windows Process Activation Service (WAS) binds.   
        
    -->
        <listenerAdapters>
            <add name="http" />
        </listenerAdapters>
        <sites>
            <site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation=":8080:localhost" />
                </bindings>
            </site>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
            <virtualDirectoryDefaults allowSubDirConfig="true" />
        </sites>
        <webLimits />
    </system.applicationHost>  
    复制代码

     

    IIS Express 内建了五个应用程序池,分别对应.Net 2.0/4.0的集成/经典模式、以及一个非托管程序池。默认的程序池版本有 <spplicationPoolDefaults> 节来配置。<sites> 节用于配置网站。网站的默认应用程序池和虚拟目录默认配置由 <applicationDefaults> 和 <virtualDirectoryDefaults> 节点配置。以上的节点默认情况下我们并不需要太多关注,因为大多数情况下我们需要关注的只有 <sites> 下的 <site> 节点,这里保存了网站、应用程序的定义,才是我们需要真正关心的。

      【1】.每个 <site> 就是一个网站。

      serverAutoStart 设置了是否随着 IIS Express的启动而自动启动。如果设置为true,那么每次 IIS Express 启动都会自动加载(如果没有指定网站的话),否则只有以指定特定网站的模式运行时才会加载。

      使用IIS Express加载特定网站的语法一: IISExpress.exe /site:<站点名>

      使用IIS Express加载特定网站的语法二: IISExpress.exe /siteid:<id>

      

      【2】.<site> 下的<bindings>设置了这个站点的绑定信息。

       节点下的每个<binding>都是一个端口绑定信息。典型的绑定配置如下:<binding protocol="http" bindingInformation="*:8080:localhost" />

       protocol 指定了绑定的协议类型(IIS Express内建了 HTTP 和 HTTPS两种协议支持),而“*:8080:localhost”则指定的绑定的具体信息,它有三个部分组成:“绑定的IP:端口:主机名”。

       默认情况下,绑定到任何本地IP、非保留端口、绑定到localhost。

      

      IIS Express 默认只支持本地连接,不能用ip去访问。

      注意,修改配置文件后,在命令行窗口输入q退出,然后重新加载才生效。【在同一机器测试】

      另外,在书上看到另外一种局域网访问的配置,这里仅记录下

    开启外部连接
    netsh http add urlacl url=http://*:{端口号}/ user=everyone
    关闭外部连接
    netsh http delete urlacl url=http://*:{端口号}/

      【3】 <application> 这个节设置了网站的应用程序

      每个网站都需要至少一个映射路径为“/”应用程序(它映射到根目录)。除此之外,你可以继续添加并行的不同路径的 <application> ,这就类似于IIS中的网站里配置的应用程序。

      例如,我需要添加一个单独的应用程序 - 论坛,映射到根目录下的bbs目录,那么我就可以这样配置:

    复制代码
    <site name="BM.Admin(1)" id="96">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="G:1code4MVC1baminCodeBaminSolutionBM.Admin" />
        </application>
        <application path="/bbs" applicationPool="Clr2IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="<此应用程序的根目录>" />
            <virtualDirectory path="/content/" physicalPath="</bbs/content/目录对应的虚拟目录>" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:44545:localhost" />
        </bindings>
    </site>
    复制代码

       【4】<virtualDirectory> 设置了目录的映射信息

      参见上面展示的代码。在每个<application>节下,必须至少存在一个 path="/" 的 virtualDirectory,它代表了这个目录映射的位置。除此之外,可以手动添加多个映射的路径不同的虚拟目录。

       一份关于site详细配置放在文章尾部,作为附录以便以后使用

     Site详细配置

    复制代码
    <sites>
                <!-- site 站点 如果启动了右击托盘IISExpress就能看到,可以在sites下面添加多个site节点   serverAutoStart=true 是指定站点是否随服务器启动,但是这个属性我并没有看到作用,不管是否设置都是启动第一个站点 -->
                <site name="WebSite1" id="1"  serverAutoStart="true" >
                    <!-- application应用程序 和在iis中添加的应用程序一样的-->
                    <application path="/">
                        <!-- virtualDirectory虚拟目录  %IIS_SITES_HOME%是C:Program FilesIIS Express  -->
                        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
                    </application>
                    <!-- 可以添加多个path不重复的application  下面applicationDefaults会默认应用程序池,但是也可以指定应用程序池-->
                    <!-- 这里有个问题如果applicationPool是Clr2IntegratedAppPool 但sites的applicationDefaults是Clr4IntegratedAppPool,则这个虚拟目录就不能被启动访问
                      目前我只能通过将applicationDefaults设置为Clr2IntegratedAppPool才可以启动,并不清楚怎么给不同网站 指定不一样的程序池并启动-->
                    <application path="/test"  applicationPool="Clr2IntegratedAppPool">
                        <!-- 可以添加多个虚拟目录 和iis中添加虚拟目录一样-->
                        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
                        <virtualDirectory path="/testvir" physicalPath="%IIS_SITES_HOME%WebSite1" />
                    </application>
                    <bindings>
                        <!-- binding站点绑定信息  protocol有http和https两种   bindingInformation指定绑定具体信息 :8080:localhost=>:端口:主机名" -->
                        <binding protocol="http" bindingInformation=":8080:localhost" />
                        <!-- 同一个网站绑定多个端口 -->
                        <binding protocol="http" bindingInformation=":8899:localhost" />
                        <!-- 通常在IIS发布的网站 用localhost 也一定可以用127.0.01访问 但是这里不行,必须手工绑定 -->
                        <binding protocol="http" bindingInformation=":8080:127.0.0.1" />
                        <!-- 局域网对应的IP地址也是需要自己绑定的  局域网其他用户才能通过ip访问-->
                        <binding protocol="http" bindingInformation=":8080:192.168.230.128" />
                    </bindings>
                </site>
                <!-- 可以添加多个site节点  但是必须是name和id 都不重复的-->
                <site name="WebSite2" id="2" serverAutoStart="true" >
                    <application path="/test">
                        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" />
                    </application>
                    <bindings>
                        <binding protocol="http" bindingInformation=":8080:localhost" />
                    </bindings>
                </site>
                <siteDefaults>
                    <!--   %IIS_USER_HOME%是"我的文档"的路径   Logs下是访问站点的记录   -->
                    <logFile logFormat="W3C" directory="%IIS_USER_HOME%Logs" />
                    <traceFailedRequestsLogging directory="%IIS_USER_HOME%TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
                </siteDefaults>
                <!--applicationDefaults 指定站点的默认应用程序池  在sites上面有applicationPools节点,可以在那看到有五个应用程序池,分别是.Net2.0/4.0的集成/经典模式、以及一个非托管程序池-->
                <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
                <virtualDirectoryDefaults allowSubDirConfig="true" />
            </sites>
    复制代码

     

    摘抄自:https://www.cnblogs.com/xcsn/p/8232664.html#h3_1_3

  • 相关阅读:
    本周总结
    本周总结
    本周总结
    本周总结
    性能分析(4)
    大型网站高性能架构
    第二天大数据清洗
    性能分析(2)
    六大质量属性——性能分析(1)
    java设计模式9-代理模式
  • 原文地址:https://www.cnblogs.com/zxdz/p/13815189.html
Copyright © 2011-2022 走看看