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:
建立網站後會關聯默認的應用池,方便管理最好是建立對應的應用池。
IIS自動化部署研究--管理工具Appcmd
二. 建立應用池
建立一個名爲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。
而後再查看一下應用池。
IIS自動化部署研究--管理工具Appcmd
三. 配置網站屬性
先查看網站的配置參數
Appcmd list site "123" /text:

IIS自動化部署研究--管理工具Appcmd
修改屬性命令:
Appcmd set site "123/" /traceFailedRequestsLogging.enable:true #其餘的參數能夠參考一下,要先看一下屬於幾級的屬性,有的層級比較深,前面須要加很多頭才行例如:ftpserver.connections.datachanneltimeout:60 這個就要加兩個頭才能夠。linux

四. 配置應用池屬性
一、先查看一下當前默認應用池的配置信息
Appcmd list apppool "DefaultAppPool" /text:*
IIS自動化部署研究--管理工具Appcmd
Appcmd set apppool "DefaultAppPool" /queueLength:65535 #這是修改隊列長度,是iis優化中必不可少的。
Appcmd set apppool "DefaultAppPool" /cpu.limit:2 #這裏多了一個cpu. 是由於常規的配置能夠直接配置,其餘的都須要加上類別。windows

相關文章
相關標籤/搜索