在使用 IIS 6 时,TigerLin 是用 Adsutil.vbs 来管理整个 IIS 的运行,让一些琐碎的工作都可快速的进行。过年期间在研究 IIS 7 的时候发现 Adsutil.vbs 已经无法使用了,到 Technet 上看了一下,看到了最新的命令管理工具是 Appcmd,过年闲的发慌刚好可以来研究一下~ 这篇文章也算是 TigerLin 当作日后方便查阅的笔记~^^
在使用 IIS 6 时,TigerLin 是用 Adsutil.vbs 来管理整个 IIS 的运行,让一些琐碎的工作都可快速的进行。过年期间在研究 IIS 7 的时候发现 Adsutil.vbs 已经无法使用了,到 Technet 上看了一下,看到了最新的命令管理工具是 Appcmd,过年闲的发慌刚好可以来研究一下~ 这篇文章也算是 TigerLin 当作日后方便查阅的笔记~^^
Appcmd 可以管理的对象如下:
- SITE 管理虚拟站台
- APP 管理应用程序
- VDIR 管理虚拟目录
- APPPOOL 管理应用程序集区
- CONFIG 管理一般设定区段
- WP 管理工作者处理序
- REQUEST 管理 HTTP 要求
- MODULE 管理服务器模块
- BACKUP 管理服务器设定备份
- TRACE 使用失败要求的追踪记录
在使用过程中,只要使用 "/?" 参数都有详细的说明,例如执行 appcmd site /? 就会列出很详细的说明了
使用案例:新增站台
appcmd add site /name:"My Test site" /id:9 /bindings:http/*:8080: /physicalPath:"d:@@@@@"
/name - 新增站台的识别名称
/id - 指定站台的识别元 (如省略将会自动给予一个)
/bindings - 指定系结的资讯
/PhysicalPath - 站台的实例路径
使用案例:对指定站台设定主机标头
appcmd set site /site.name:"My Test Site" /bindings:"http://test.ptitas.net:8080"
使用案例:更改站台的识别元
appcmd set site /site.name:"My Test Site" /id:999
这里要注意,变更识别元之后的站台默认会变成 "stop",要追加以操作启动站台
appcmd start site "My Test Web"
这样看来,Appcmd 的简单易用还真是不赖,在进行大型布署时可以用命令批次的方式省下不少的麻烦
这里 TigerLin 也测试了变更 LOG 格式的方法,语法比 adsutil.vbs 简单,但测试的过程要把 LOG 的各项属性找出来费了一点功夫呢~
使用案例:变更命令站台的 W3C Log 格式
首先,将其中一个站台的 LOG 纪录全部勾选,先以命令找出 Log 相关的区域设定
appcmd list config | findstr log > d:LogExt.txt
接下来新增一个站台,针对特殊的分析程序 (EX:AWStats) 设定 LOG,再度执行一次刚刚的命令,就会发现有两个区段,一个很长的就是全选的,另外一个就是依照需求自己设定的。很长的区段 (也就是全部勾选的LOG 字段) 可看到下列的内容:
基于以上的理由,TigerLin 越来越偏好使用命令的方式来设定了,多了解一些命令在未来的应用上会更广阔的 ^^b
参考连结
使用 Adsutil.vbs 管理命令码 http://technet.microsoft.com/zh-tw/library/cc781546.aspx
IIS 7.0:Appcmd.exe http://technet.microsoft.com/zh-tw/library/cc772200.aspx
原文:大专栏 使用命令工具 Appcmd 管理与设定 IIS 7