查看: 513|回复: 1

[文章教程] IIS站点控制命令appcmd的详细解释说明

[复制链接]
xuanxiao 发表于 2022-7-6 14:00:38 | 显示全部楼层 |阅读模式
IIS7新增了一个站点管理工具appcmd,可以使用该工具来配置和查询 Web 服务器上的对象,并以文本或 XML 格式返回输出。使用该工具,可实现如下IIS站点控制:

  • 创建、配置和删除站点、应用程序、应用程序池和虚拟目录。
  • 停止和启动站点。
  • 启动、停止和回收应用程序池。
  • 查看有关在 Web 服务器上运行的工作进程和请求的信息。
  • 一列表形式显示IIS和ASP.NET的配置信息,并支持对IIS和ASP.NET的配置信息进行修改

appcmd.exe使用方法
IIS7站点控制命令appcmd

IIS7

1.appcmd提供一组操作IIS操作对象,如下表:

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


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

2.appcmd.exe工具支持的命令:
add
clear
configure
delete
inspect
install
list
lock
migrate
recycle
reset
restore
search
set
start
stop
uninstall
unlock
用例
命令总是位于操作对象之前,而属性总是位于操作对象之后,这样就可以通过创建一个类似于一条语句的结构,在这个结构中,appcmd.exe通知对象做某事。

一、例如对程序池操作

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"
二、对请求的操作

监视当前的请求

appcmd.exe list request

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

1、基于网站ID的请求
appcmd.exe list request /site.id:1
2、基于应用程序池的请求
appcmd.exe list request /apppool.exeefaultAppPool
3、基于工作进程的请求
appcmd.exe list request /wp.name:"1044"
4、基于网站名称的请求
appcmd.exe list request /site.name:"Default web Site"
5、基于进程运行时间的请求
appcmd.exe list request /elapsed:"1000"
三、站点备份与恢复

1、备份站点:
appcmd.exe add backup backupname
2、列出备份:
appcmd.exe list backup
3、恢复备份
在恢复一个备份时,IIS停止运行,并且重写服务器的状态。一旦配置文件被重写,IIS随即重新启动。如果不希望IIS停止运行并重新启动,那么可以是使用/stop:false。这样,就可以在合适的时间手动停止IIS运行,并手动重新启动IIS
appcmd.exe restore backup /back.name:"XXX" /stop:false
appcmd.exe restore backup /backup.name:"XXX"
4、删除备份
appcmd.exe relete backup XXX
四、列出服务器的配置信息

1、列出服务器的整体配置信息
appcmd.exe list config
2、列出默认Web网站的配置
appcmd.exe list config "Default Web Site/"
3、当需要显示默认web网站的配置内容时,为了减少显示内容,可以执行
appcmd.exe list config "Defaul Web Site/" /section:system.net/settings
4、获取所有可用节点
appcmd.exe list config -section:?
五、编辑配置节点信息

1、启用全局IPv6
appcmd.exe set config /section:system.net/settings -ipv6.enabled:"true"
2、在全局配置中启用了IPv6,现在要在默认的web中引用IPv6
appcmd.exe set config "http://localhost" /section:system.net/settings -ipv6.enabe:"false"
3、列出节点集合
appcmd.exe list config /section:httpErrors
4、编辑节点集合
例如把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
六、对配置进行加解锁

1、解锁
appcmd.exe unlock config "default web site" /section:system.web/authentication
2、加锁
appcmd.exe lock config "default web site" /section:system.web/authentication
七、使用管道传送XML数据

appcmd.exe list apppool /state:started /xml
 楼主| xuanxiao 发表于 2022-7-8 16:19:11 | 显示全部楼层
使用appcmd命令创建iis站点及应用程序池

创建应用程序池:
  1. appcmd add apppool /name:MyTestSite1 /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated /enable32BitAppOnWin64:true /processModel.identityType:LocalSystem
复制代码

/managedRuntimeVersion是.net Framework的版本 如:v1.0 v1.1或v2.0等
/managedPielineMode托管管道模式:Classic经典模式,Integrated集成模式
/enable32BitAppOnWin64是否启用32位应用程序
/processModel.identityType进程模型--标识



删除站点及应用程序池:
  1. appcmd delete site /site.name:MyTestSite1
  2. appcmd delete apppool /apppool.name:MyTestSite1
复制代码



停止、启动 站点、应用程序池:
  1. appcmd stop site "MyTestSite1"
  2. appcmd start site "MyTestSite1"
  3.    
  4. appcmd stop apppool "MyTestSite1"
  5. appcmd start apppool "MyTestSite1"
复制代码



列出所有的站点、应用程序池:
  1. appcmd list sites
  2. appcmd list apppools
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号