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 這個就要加兩個頭纔可以。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章