• IIS用命令行重启其中一个具体的站点服务


    本文转载于  https://blog.csdn.net/hejisan/article/details/81750808

    我们有很多种办法,可以重新启动IIS的网站、服务,但都是同时重启所有网站和服务

    在做Jenkins自动化部署时,我们有一个需求,需要单独停止、启动指定的网站,同IIS下的其他网站,不能受到影响,那么应该如何做呢?

    只需要让他在CMD下执行如下命令:

    停止:
    C:WindowsSystem32inetsrvappcmd.exe stop site “XXXX”
    注:”XXXX”网站,XXXX就是IIS的网站名称
    启动:
    C:WindowsSystem32inetsrvappcmd.exe start site “XXXX”

    那么,回收应用程序池呢?

    单独停止“应用程序池”:
    C:WindowsSystem32inetsrvappcmd.exe stop apppool /apppool.name:xxxx

    单独启动“应用程序池”:
    C:WindowsSystem32inetsrvappcmd.exe start apppool /apppool.name:xxxx

    注:XXXX就是应用程序池的名称

    IIS 7 提供了一个新的命令行工具 Appcmd.exe,可以使用该工具来配置和查询 Web 服务器上的对象,并以文本或 XML 格式返回输出。 下面是一些可以使用 Appcmd.exe 完成的任务的示例:
    •创建和配置站点、应用程序、应用程序池和虚拟目录。

    •停止和启动站点。

    •启动、停止和回收应用程序池。

    •查看有关在 Web 服务器上运行的工作进程和请求的信息。

    Appcmd.exe 为常见的查询和配置任务提供了一致的命令,从而降低了学习语法的复杂性。 例如,您可以使用 list 命令来搜索有关对象(如应用程序)的信息,也可以使用 add 命令来创建对象(如站点)。
    另外,您还可以将命令组合在一起使用,以返回与 Web 服务器上对象相关的更为复杂的数据,或执行更为复杂的任务。 例如,您可以完成类似如下任务的复杂任务:停止所有具有运行时间超过六十秒的请求的站点。

    AppCmd.exe工具所在目录 C:windowssytstem32inetsrv目录下

    使用命令行管理IIS 7.0时,需要使用IIS7.0提供的全新管理工具AppCmd.exe。AppCmd.exe工具可以完成web服务器的全不管理工作。利用AppCmd.exe工具,既可以通过命令行提示完成挂历工作,也可以通过脚本完成管理工作。利用AppCmd.exe工具,可以完成以下工作:

    1、添加、删除、修改web网站和应用程序池

    2、停止,启动web网站和应用程序池

    3、观察工作进程和请求信息

    4、一列表形式显示IIS和ASP.NET的配置信息,并支持对IIS和ASP.NET的配置信息进行修改

    AppCmd.exe工具提供了一个一直的命令集,利用该命令集,针对受支持的对象类型,可以执行查询操作并完成一些其他任务,既可以段杜运行这些命令,也可以讲命令进行组合并欲行命令组合,从而可以执行复杂的任务,完成复杂的查询工作,如表:

    对象名称 描述
    site 管理虚拟网站
    app 管理应用程序
    vdir 管理虚拟目录
    appool 管理应用程序池
    config 挂历通用配置文件
    wp 挂历工作进程
    request 管理http请求
    module 管理服务器模块
    backup 管理服务器配置备份
    trace 管理失效请求跟踪日志

    AppCmd.exe工具支持的命令:

    add

    clear

    configure

    delete

    inspect

    install

    list

    lock

    migrate

    recycle

    reset

    restore

    search

    set

    start

    stop

    uninstall

    unlock

    AppCmd命令

    温馨提示:命令总是位于对象之前,而属性总是位于对象之后,这样就可以通过创建一个类似于一条语句的结构,在这个结构中,appcmd.exe通知对象做某事。

      list      列出应用程序池
      set       配置应用程序池
      add       添加新应用程序池
      delete    删除应用程序池
      start     启动应用程序池
      stop      停止应用程序池
      recycle   回收应用程序池

    1、列出一个对象所有实例

    appcmd.exe list app

    2、列出独一无二的对象实例

    appcmd.exe list app "Default Web Site/"

    3、列出满足一定准则的对象实例

    appcmd.exe list app /apppool.name:"defaultapppool"

    4、列出对象的详细信息

    appcmd.exe list app "default web site/"/text:*

    5.列出所有XXX应用程序池的应用程序

    appcmd.exe list app /text:/apppool.name:XXX

    6、列出网站的配置信息

    appcmd.exe list site "default web site "/config

    7、更换应用程序池

    appcmd.exe set app "default web site/"     /applicationpool:"XXX" 

    8、添加新的应用程序池

    appcmd.exe add apppool /name:"XXX"

    9、删除应用程序池

    appcmd.exe delete apppool /apppool.name:"XXX" 

    10、列出所有的应用程序池的详细信息

    appcmd.exe list apppool

    11、查询所有应用程序池状态为started的

    appcmd.exe list apppools /state:started

    12、关闭指定应用程序池

    appcmd.exe stop appPool /appPool.name:"XXX"

    13、开启指定应用程序池

    appcmd.exe start apppool /apppool.name:"XXX"

    14、监视当前的请求

    appcmd.exe list request

    request对象可以使用属性来找到特定的信息,通过使用属性,可以返回摸个运行时间(以毫秒计算)超过预设值的网站、应用程序池、工作进程、URL,            以及请求的信息。request对象所使用的属性包括:

    基于网站ID的请求

    appcmd.exe list request /site.id:1

    基于应用程序池的请求

    appcmd.exe list request /apppool.exe:DefaultAppPool

    基于工作进程的请求

    appcmd.exe list request /wp.name:"1044"

    基于网站名称的请求

    appcmd.exe list request /site.name:"Default web Site"

    基于进程运行时间的请求

    appcmd.exe list request /elapsed:"1000"

    15.站点备份与恢复

    备份站点:

    appcmd.exe add backup backupname

    列出备份:

    appcmd.exe list backup

    恢复备份

    在恢复一个备份时,IIS停止运行,并且重写服务器的状态。一旦配置文件被重写,IIS随即重新启动。如果不希望IIS停止运行并重新启动,那么可以是使用/stop:false。这样,就可以在合适的时间手动停止IIS运行,并手动重新启动IIS

    appcmd.exe restore backup  /back.name:"XXX" /stop:false

    appcmd.exe  restore backup /backup.name:"XXX"

    删除备份

    appcmd.exe relete backup  XXX

    16、列出服务器的整体配置信息

    appcmd.exe list config

    列出默认Web网站的配置

    appcmd.exe list config "Default Web Site/"

    当需要显示默认web网站的配置内容时,为了减少显示内容,可以执行

    appcmd.exe list config "Defaul Web Site/"  /section:system.net/settings

    获取所有可用节点

    appcmd.exe list config -section:?

    17、编辑配置节点信息

    eg1: 启用全局IPv6

    appcmd.exe set config  /section:system.net/settings -ipv6.enabled:"true"

    eg2:在全局配置中启用了IPv6,现在要在默认的web中引用IPv6

    appcmd.exe set config  "http://localhost" /section:system.net/settings -ipv6.enabe:"false"

    列出节点集合

    appcmd.exe list config /section:httpErrors

    编辑节点集合

    eg:把401错误页面有"401。htm"修改为"defaulterror.htm"

    通过使用加号(+)或者一个减号(-)添加 活删除元素

    删除503状态码

    appcmd.exe set config /section:httpErrors /-[statusCode='503']

    appcmd.exe set config /section:httpErrors / [statusCode='401'].path:defaulterror.htm

    18、对配置进行加锁和解锁

    解锁:

    appcmd.exe unlock config "default web site" /section:system.web/authentication

    加锁:

    appcmd.exe lock config "default web site" /section:system.web/authentication

    19、使用管道传送XML数据

    可以在appcmd list 中使用/xml修饰符来创建复杂的任务,还可以执行大规模的批处理工作。利用/xml修饰符,可以讲一个查询的结果导出并保存到一个标准XML格式的文件中,从而使其他命令行工具或者shell命令可以使用这个XML文件。例如,为了列出所有已启用的应用程序池,并将信息保存到一个标准的XML文件中,执行以下命令:

    appcmd.exe list apppool /state:started /xml

  • 相关阅读:
    npm切换淘宝镜像
    Linux下安装Node.js环境
    Electron入门
    Grunt实现前端自动化
    Javascript代码复审(review)
    Eclipse启动Tomcat报错:Could not load the Tomcat server configuration at Servers2Tomcat v8.0 Server at localhost-config
    maven常用命令
    Element form表单验证无法生效
    css 绝对定位参考对象
    vscode 不识别 less代码
  • 原文地址:https://www.cnblogs.com/pyng/p/14030062.html
Copyright © 2020-2023  润新知