IIS自动化部署研究--管理工具Appcmd

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS自动化部署研究--管理工具Appcmd相关的知识,希望对你有一定的参考价值。

最近在研究自动化部署这方面的东西,linux可以使用jenkins和ansible直接部署,windows方面有点少,在搜索过程中发现了appcmd这个工具。appcmd作为windows IIS7.0之后新增的管理命令,功能非常强大,关键是修改完是直接生效的。
工具默认位置在:%systemroot%\system32\inetsrv\ 下,也就是在C:\Windows\System32\inetsrv\下。微软没有把它内部命令表中,需要文件目录下才能运行。如果要直接运行appcmd命令,需要将在环境变量下系统变量的path中添加路径即可。
一. 创建网站
创建一个名为123的新网站,其中id是2,侦听所有ip地址的81端口,当然可以自行设置成ip,端口后面是跟主机名或者域名的,当然可以不加,端口后面的冒号是必须要加的,要不然端口不会生效的。 physicalpath是已存在的目录的位置。
根据官方的说明,name是必须指定的,id是随意,不指定会自动按照当前已存在的后延生成的,主机名也可以随意。
Appcmd add site /name:123 /id:2 /bindings:http/
:81:iistest-1.tech.xyauto.com /physicalPath:D:\site\123
下面这个是向123中附加子站的
Appcmd add app /site.name:123 /path:/456 /phtsicalPath:D:\site\123\456
如果没有指定physicalpath参数,或者希望添加另外一个虚拟目录的话,可以使用一下这个命令
Appcmd add vdir /app.name:"123/456" /path:/vdir1 /physicalPath:D:\site\123\567
查看网站的属性,并以文本的形式显示出来。
Appcmd list site "123" /text:
创建网站后会关联默认的应用池,方便管理最好是创建对应的应用池。
技术分享图片
二. 创建应用池
创建一个名为123和456的应用池,然后进行关联
Appcmd add apppool /name:123
Appcmd add apppool /name:456
Appcmd set app "123/" /applicationpool:123
Appcmd set app "123/456" /applicationpool:456 #由于456是123的子站,所以要加上主站123。
然后再查看一下应用池。
技术分享图片
三. 配置网站属性
先查看网站的配置参数
Appcmd list site "123" /text:

技术分享图片
修改属性命令:
Appcmd set site "123/" /traceFailedRequestsLogging.enable:true #其他的参数可以参考一下,要先看一下属于几级的属性,有的层级比较深,前面需要加不少头才行例如:ftpserver.connections.datachanneltimeout:60 这个就要加两个头才可以。

四. 配置应用池属性
1、先查看一下当前默认应用池的配置信息
Appcmd list apppool "DefaultAppPool" /text:*
技术分享图片
Appcmd set apppool "DefaultAppPool" /queueLength:65535 #这是修改队列长度,是iis优化中必不可少的。
Appcmd set apppool "DefaultAppPool" /cpu.limit:2 #这里多了一个cpu. 是因为常规的配置可以直接配置,其他的都需要加上类别。

以上是关于IIS自动化部署研究--管理工具Appcmd的主要内容,如果未能解决你的问题,请参考以下文章

IIS7 全新管理工具AppCmd.exe的命令使用实例分享

使用appcmd命令创建iis站点及应用程序池

使用appcmd添加新的网站问题

Appcmd&Adsutil.vbs基本用法及深入了解

appcmd cmd 操作IIS

在哪里可以找到 IIS Express 的 appcmd.exe?