cnblogs/dcrenl/IIS7.0 Appcmd 命令详解.html
2024-09-24 12:43:01 +08:00

110 lines
11 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>废话不说虽然有配置界面管理器但是做安装包的时候命令创建是必不可少的最近使用NSIS制作安装包仔细研究了一下Appcmd的命令可谓是功能齐全.</p>
<p>上网查了些资料,那些博客大部分都是转载的别人的。都是些基本的介绍,很多命令都没介绍到(不知道是不是我走眼了)。</p>
<p>就连微软的 技术资源库 也不详细:</p>
<p>附地址:<a href="http://technet.microsoft.com/zh-cn/library/cc772200(WS.10).aspx">http://technet.microsoft.com/zh-cn/library/cc772200(WS.10).aspx</a>(反正我找了一遍!没找到我要的)</p>
<p>&nbsp;</p>
<p>微软的 技术资源库 有的我就不介绍了,点开上面的链接自己去看。</p>
<p>介绍我们能用到的一些命令目前只包含site 的操作其他apppool config app vdir 后续有时间在加入)</p>
<hr />
<p>&nbsp;</p>
<p>一:准备工作</p>
<p>APPcmd.exe 位于 C:\Windows\System32\inetsrv 目录</p>
<p>使用 Cd c:\Windows\System32\inetsrv 切换到该目录</p>
<hr />
<p>&nbsp;</p>
<p>二:命令操作简介</p>
<p>IIS 命令行管理工具基本格式:</p>
<p>APPCMD (命令) (对象类型) &lt;标识符&gt; &lt;/参数1:值1 ...&gt;</p>
<p>支持的对象类型:</p>
<p>SITE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;虚拟站点的管理<br />APP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;管理应用程序<br />VDIR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;管理虚拟目录<br />APPPOOL&nbsp;&nbsp;&nbsp;管理应用程序池<br />CONFIG&nbsp;&nbsp;&nbsp;&nbsp;管理常规配置节<br />WP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;管理工作进程<br />REQUEST&nbsp;&nbsp;&nbsp;管理 HTTP 请求<br />MODULE&nbsp;&nbsp;&nbsp;&nbsp;管理服务器模块<br />BACKUP&nbsp;&nbsp;&nbsp;&nbsp;管理服务器配置备份<br />TRACE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用失败请求跟踪日志</p>
<p>&nbsp;-----------这个就不解释很详细了,懂的人都知道这个IIS的层次。</p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p>三:对<strong>Site</strong>的命令详解</p>
<p>  1.命令介绍</p>
<p>虚拟站点的管理</p>
<p>APPCMD &lt;命令&gt; SITE [标识符] [-参数1:值1 ...]&nbsp;&nbsp;&nbsp;&nbsp;如: appcmd list site (列出当前存在的站点)</p>
<p>支持的命令:</p>
<p>list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;列出虚拟站点<br />set&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;配置虚拟站点<br />add&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;添加新虚拟站点<br />delete&nbsp;&nbsp;&nbsp;&nbsp;删除虚拟站点<br />start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;启动虚拟站点<br />stop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;停止虚拟站点</p>
<p>  2.详解</p>
<p><strong>列出虚拟站点</strong></p>
<p>APPCMD list SITE [标识符] [-参数1:值1 ...]</p>
<p>列出计算机上的虚拟站点。此命令可用于使用特定站点的标识符或 url 查找该站点,或者<br />基于指定的站点属性匹配零个或多个站点。</p>
<p>示例:</p>
<p>&nbsp;appcmd list sites</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;列出计算机上的所有站点。</p>
<p>&nbsp;appcmd list site "Default Web Site"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;查找站点&ldquo;Default Web Site&rdquo;</p>
<p>&nbsp;appcmd list site&nbsp;<a href="http://localhost/app1">http://localhost/app1</a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;查找与指定的 url 关联的站点。</p>
<p>&nbsp;appcmd list site /serverAutoStart:false</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;查找&ldquo;serverAutoStart&rdquo;配置属性设置为&ldquo;false&rdquo;的所有站点。</p>
<p><strong>添加新虚拟站点</strong></p>
<p>APPCMD add SITE [标识符] [-参数1:值1 ...]</p>
<p>使用指定的设置创建新的虚拟站点。至少,必须提供站点名称和 ID。</p>
<p>支持的参数:</p>
<p>&nbsp;/name (必需) 站点名称</p>
<p>&nbsp;/id 站点 ID</p>
<p>&nbsp;/bindings &ldquo;http://domain:port,...&rdquo;好记格式或&ldquo;protocol/bindingInformation,...&rdquo;原始格式的绑定列表</p>
<p>&nbsp;/physicalPath</p>
<p>如果指定,将导致为该站点创建包含指向指定路径的根虚拟目录的根应用程序。如果忽<br />略,将创建一个没有根应用程序的站点,并且该站点在创建根应用程序之前将无法启动。</p>
<p><br />示例:</p>
<p>&nbsp;appcmd add site /name:"My New Site" /id:2 /bindings:http://www.domain.com:80</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用指定的好记绑定创建一个新站点&ldquo;我的新站点&rdquo;,以便在端口 80 上侦听对&nbsp;<a href="http://www.d/">www.d</a><br />omain.com 的 http 请求。</p>
<p>&nbsp;appcmd add site /name:"My New Site" /id:2 /bindings:http://*:81</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用指定的好记绑定创建一个新站点&ldquo;我的新站点&rdquo;,以便在端口 81 上侦听对任何域<br />名的 http 请求。</p>
<p>&nbsp;appcmd add site /name:"My New Site" /id:2 /bindings:http/*:81:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用指定的 ID 和绑定创建新站点&ldquo;我的新站点&rdquo;。创建后,新站点中不包含任何应用<br />程序。</p>
<p>&nbsp;appcmd add site /name:"My New Site" /id:2 /bindings:http/*:81: /physicalPath:"c<br />:\inetpub\mynewsite"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用指定的 ID 和绑定创建新站点&ldquo;我的新站点&rdquo;。系统将自动创建根虚拟目录指向指<br />定物理路径的根应用程序。</p>
<p>&nbsp;appcmd add site /name:"My New Site" /bindings:http/*:81:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;使用绑定创建新站点&ldquo;我的新站点&rdquo;,并自动生成站点 ID。创建后该新站点不包含<br />任何应用程序。</p>
<p>&nbsp;</p>
<p><strong>配置虚拟站点</strong></p>
<p>APPCMD set SITE [标识符] [-参数1:值1 ...]</p>
<p>允许设置指定虚拟站点的属性。必须提供准确的站点标识符,并且必须将该标识符解析为现<br />有站点。</p>
<p>支持的参数:</p>
<p>&nbsp;identifier (必需)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;要修改的站点的站点名称或 url</p>
<p>&nbsp;/site.name</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;要修改的站点的站点名称或 url (与标识符相同)</p>
<p>&nbsp;/bindings</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&ldquo;http://domain:port,...&rdquo;好记格式或&ldquo;protocol/bindingInformation,...&rdquo;原始<br />格式的绑定列表</p>
<p><br />示例:</p>
<p>&nbsp;appcmd set site "Default Web Site" /serverAutoStart:false /id:100</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;设置&ldquo;Default Web Site&rdquo;站点的&ldquo;serverAutoStart&rdquo;&ldquo;id&rdquo;属性。</p>
<p>这里对&nbsp;&nbsp;set 操作附加一些高级操作(重要)</p>
<p>当时用 appcmd set site "Default Web Site"&nbsp;&nbsp;当时用后其他高级参数</p>
<p>解释后续补上............</p>
<p>-name 名称<br />-id ID标识<br />-serverAutoStart 是否自动启动<br />-bindings.[protocol='string',bindingInformation='string'].p<br />-bindings.[protocol='string',bindingInformation='string'].b<br />-limits.maxBandwidth<br />-limits.maxConnections<br />-limits.connectionTimeout<br />-logFile.logExtFileFlags<br />-logFile.customLogPluginClsid<br />-logFile.logFormat<br />-logFile.directory<br />-logFile.period<br />-logFile.truncateSize<br />-logFile.localTimeRollover<br />-logFile.enabled<br />-traceFailedRequestsLogging.enabled<br />-traceFailedRequestsLogging.directory<br />-traceFailedRequestsLogging.maxLogFiles<br />-traceFailedRequestsLogging.maxLogFileSizeKB<br />-traceFailedRequestsLogging.customActionsEnabled<br />-applicationDefaults.path<br />-applicationDefaults.applicationPool<br />-applicationDefaults.enabledProtocols<br />-virtualDirectoryDefaults.path&nbsp;<br />-virtualDirectoryDefaults.physicalPath 网站的物理路径<br />-virtualDirectoryDefaults.userName&nbsp;&nbsp;物理路径凭据的账户<br />-virtualDirectoryDefaults.password&nbsp;&nbsp;物理路径凭据的密码<br />-virtualDirectoryDefaults.logonMethod&nbsp;<br />-virtualDirectoryDefaults.allowSubDirConfig&nbsp;<br />-[path='string'].path<br />-[path='string'].applicationPool<br />-[path='string'].enabledProtocols<br />-[path='string'].virtualDirectoryDefaults.path<br />-[path='string'].virtualDirectoryDefaults.physicalPath<br />-[path='string'].virtualDirectoryDefaults.userName<br />-[path='string'].virtualDirectoryDefaults.password<br />-[path='string'].virtualDirectoryDefaults.logonMethod<br />-[path='string'].virtualDirectoryDefaults.allowSubDirConfig<br />-[path='string'].[path='string'].path<br />-[path='string'].[path='string'].physicalPath<br />-[path='string'].[path='string'].userName<br />-[path='string'].[path='string'].password<br />-[path='string'].[path='string'].logonMethod<br />-[path='string'].[path='string'].allowSubDirConfig<br />&nbsp;</p>
<p><strong>删除虚拟站点</strong></p>
<p>APPCMD delete SITE [标识符] [-参数1:值1 ...]</p>
<p>描叙: 从计算机删除指定的虚拟站点。必须提供准确的站点标识符,并且必须将该标识符解析为现有站点。</p>
<p>支持的参数:</p>
<p>&nbsp;identifier&nbsp;&nbsp;&nbsp;&nbsp;(必需)要删除的站点的站点名称或 url</p>
<p>&nbsp;/site.name&nbsp;&nbsp;&nbsp;要删除的站点的站点名称或 url (与标识符相同)</p>
<p><br />示例:</p>
<p>&nbsp;appcmd delete site "Default Web Site"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;删除站点&ldquo;Default Web Site&rdquo;</p>
<p>&nbsp;</p>
<p><strong>启动虚拟站点</strong></p>
<p>APPCMD start SITE [标识符] [-参数1:值1 ...]</p>
<p>启动指定的虚拟站点并启用该站点,以开始侦听其所有绑定端点上的新请求。必须提供准确的站点标识符,并且必须将该标识符解析为现有站点。</p>
<p>支持的参数:</p>
<p>&nbsp;identifier&nbsp;&nbsp;&nbsp;&nbsp;(必需)要启动的站点的站点名称或 url</p>
<p>&nbsp;/site.name&nbsp;&nbsp;&nbsp;&nbsp;要启动的站点的站点名称或 url (与标识符相同)</p>
<p><br />示例:</p>
<p>&nbsp;appcmd start site "Default Web Site"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;启动站点&ldquo;Default Web Site&rdquo;</p>
<p>&nbsp;</p>
<p><strong>停止虚拟站点</strong></p>
<p>APPCMD stop SITE [标识符] [-参数1:值1 ...]</p>
<p>停止指定的虚拟站点,阻止在其绑定端点上接收新请求。必须提供准确的站点标识符,并且<br />必须将该标识符解析为现有站点。</p>
<p>支持的参数:</p>
<p>&nbsp;identifier&nbsp;&nbsp;&nbsp;&nbsp;(必需)要停止的站点的站点名称或 url</p>
<p>&nbsp;/site.name&nbsp;&nbsp;&nbsp;&nbsp;要停止的站点的站点名称或 url (与标识符相同)</p>
<p><br />示例:</p>
<p>&nbsp;appcmd stop site "Default Web Site"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;停止站点&ldquo;Default Web Site&rdquo;</p>
<p>&nbsp;</p>
<p>原文地址:http://www.cnblogs.com/NatureSex/archive/2011/11/02/2233253.html</p>