预备: 系统必须超越等于windows二零一零 奥迪Q52 种类 晋级 PowerShell至3.0 安装iis
安装net

IIS 7 提供了一个新的一声令下行工具 Appcmd.exe,可以采纳该工具来布置和询问
Web 服务器上的目的,并以文本或 XML 格式再次来到输出。 下边是一对得以应用
Appcmd.exe 实现的义务的亲自过问:
•创立和配备站点、应用程序、应用程序池和设想目录。

在IIS7+上导出全体应用程序池的法子:
%windir%/system32/inetsrv/appcmd list apppool /config /xml >
c:/apppools.xml
 
这一个命令会将服务器上全方位的运用程序池都导出来,但有个别大家是大家无需的,要将她们删掉.举个例子:
DefaultAppPool
Classic .Net AppPool
  假设在导入时发掘同名的利用程序池已经存在,那么导入就能战败.
 
导入应用程序池的办法:
%windir%/system32/inetsrv/appcmd add apppool /in < c:/apppools.xml
 
诸如此比就能够将整个的使用程序池都导入到另二个服务器中了.
 
  导出全部站点的艺术:
 %windir%/system32/inetsrv/appcmd list site /config /xml >
c:/sites.xml
 
 一样,我们供给编写制定sites.xml文件删除没有须求的站点.如:
Default Website
 
导入站点的办法:
 %windir%/system32/inetsrv/appcmd add site /in < c:/sites.xml
 
迄今,导入工作到位了,看看两台服务器的IIS配置同样了吧.
 
另外,介绍下独自导出导入二个站点的不二诀窍
导出单独使用程序池:
%windir%/system32/inetsrv/appcmd list apppool “应用程序池名称” /config
/xml > c:/myapppool.xml
青黄字体的正是要导出的选拔程序池名称
 
导入单独使用程序池:
  %windir%/system32/inetsrv/appcmd add apppool /in <
c:/myapppool.xml
 
导出单独站点:
%windir%/system32/inetsrv/appcmd list site “站点名称” /config /xml >
c:/mywebsite.xml
青黑字体的就是要导出的站点名称
 
  导入单独站点:
%windir%/system32/inetsrv/appcmd add site /in < c:/cnziben.com.xml

资料来自:

ansible调节台目录结构
.
├── hosts #ansible 寄放客户机IP
├── roles
│  └── web
│      ├── files
│      │  └── web.ps1 # 创建iis站点ps脚本
│      └── tasks
│          └── main.yml #ansible 调节脚本
└── web.yml # ansible 调用脚本

•甘休和运营站点。

web.yml 文件表明

•运营、停止和回收利用程序池。

 

  • hosts: ‘{{ host }}’ # 客户机hosts文件节点名字
      vars:
        sitePort: 9002 # 端口号 创制网址用到产生会复位80端口
        SiteName: default # 网址应用程序池名字
        SiteAppPoolsModel: Integrated # 托管管道情势 Classic
    、Integrated 
        managedRuntimeVersion: v4.0 # net版本号
        WebSitePath: D:\default # 网址数据存放地点
        HostHeader1:  # 第一web访问域名 
        HostHeader2:  # 第3个访谈域名 
        defaultDocument: index.html #暗中同意主页
        IISLogFile: d:\LogFiles # web网址日志贮存地方
        net32Or64: false  # 是还是不是展开32情势帮衬 六十六个人系统使用 True、false 
      roles:
        – web # ansible 试行标签

•查看有关在 Web 服务器上运维的干活历程和伸手的音信。

一些经历:导出配置文件后,提出展开看看,假设有亟待调动的急需做修改。

main.yml 文件内容表明

Appcmd.exe
为左近的询问和安顿职责提供了长久以来的授命,进而减弱了就学语法的复杂。
举例,您能够行使 list 命令来查究有关对象(如应用程序)的新闻,也足以动用
add 命令来创制对象(如站点)。
除此以外,您还是能将指令组合在同步使用,以回到与 Web
服务器上对象相关的愈发复杂的数码,或试行尤其复杂的职责。
比如,您能够实现临近如下职责的繁杂职责:截止全数具备运转时刻抢先六十秒的乞求的站点。

在IIS7+上导出全体应用程序池的秘诀:
%windir%/system32/inetsrv/appcmd
list apppool /config /xml > c:/apppools.xml

  • name: install web site
      script: web.ps1 {{sitePort}} {{SiteName}} {{SiteAppPoolsModel}}
    {{managedRuntimeVersion}} {{WebSitePath}} {{HostHeader1}}
    {{HostHeader2}} {{defaultDocument}} {{IISLogFile}} {{net32Or64}} #
    客户机执行脚本及给脚本传参数
     #参数 {{sitePort}} web端口号 能够暗许
     # {{SiteName}} # 网址应用程序池名字 
     # {{SiteAppPoolsModel}} 托管管道形式 Classic 、Integrated 
    能够布署私下认可
     # {{managedRuntimeVersion}} net版本号 能够配备暗中认可
     # {{WebSitePath}} 网站数据贮存地点
     # {{HostHeader1}} 第一web访问域名
     # {{HostHeader2}} 第二个访谈域名 默许没展开
     #  {{defaultDocument}} 默许主页
     # {{IISLogFile}} web网址日志贮存地方 能够布署成暗中认可值
     # {{net32Or64}} 是或不是展开32格局帮衬 陆九位系统应用  能够配备成暗中同意

AppCmd.exe工具所在目录 C:\全新管理工科具AppCmd,利用Ansible批量创制IIS站点。windows\sytstem32\inetsrv\目录下

本条命令会将服务器上一切的选择程序池都导出来,但有一些大家是大家不必要的,要将她们删掉.比如:
DefaultAppPool
Classic
.Net AppPool
倘若在导入时开掘同名的使用程序池已经存在,那么导入就能够战败.

web.ps1 文件内容表明
#
************************************************************ 
# *                                                          * 
# *                Powershell铺排web站点脚本                    * 
#澳门金沙国际, *                                                          * 
#
************************************************************ 
#set-executionpolicy remotesigned 
# 创立IIS站点所用参数 
################################################################################################# 
#参数注解
param($a,$b,$c,$d,$e,$f,$g,$h,$i,$j)
$sitePort = $a  #端口 
$SiteName = “$b”    #站点名 
$SiteAppPools = $SiteName  #进度池名 
$SiteAppPoolsModel = “$c”  #进度池使用通道方式 
$AppPoolType = “ApplicationPoolIdentity”       
#点名应用程序池要接纳的帐户标识(0 >Local Service 1 >Local
System  2 >Network Service  3 >User 4
>ApplicationPoolIdentity) 
$managedRuntimeVersion = “$d”  #.net版本 
$WebSitePath = “$e” #站点程序路线 
$HostHeader1 = “$f”      #绑定站点域名 
$HostHeader2 = “$g”      #绑定站点域名 
$defaultDocument = “$h”
$IISLogFile = “$i\$SiteName” #IIS日志路线 
$net32Or64 = $j  #是不是启用.net32情势 
#################################################################################################
Import-Module WebAdministration  #导入IIS模块 
#创办IIS应用程序池 
function BuildAppPool(){ 
    $AppPool = “iis:\AppPools\” + $SiteAppPools
    $existAppPool = Test-Path $AppPool
    if($existAppPool -eq $false){ 
        #创制应用程序池 
        .$Env:windir\system32\inetsrv\appcmd.exe add apppool
/name:$SiteAppPools /managedRuntimeVersion:$managedRuntimeVersion 
/managedPipelineMode:$SiteAppPoolsModel
        #点名应用程序池要选用的帐户标识 
        .$Env:windir\system32\inetsrv\appcmd.exe set config
/section:applicationPools
/[name=”‘$SiteAppPools'”].processModel.identityType:$AppPoolType 
        #安装使用程序池使用.net版本 
        .$Env:windir\system32\inetsrv\appcmd.exe add apppool
/name:$SiteAppPools /managedRuntimeVersion:$managedRuntimeVersion 
/managedPipelineMode:$SiteAppPoolsModel
        #限制进度使用内部存款和储蓄器上限为1.5G 
        .$Env:windir\system32\inetsrv\appcmd.exe set config
/section:applicationPools
/[name=”‘$SiteAppPools'”].recycling.periodicRestart.privateMemory:1572864 
        #钦定进度固定回收时间 
        .$Env:windir\system32\inetsrv\appcmd.exe set apppool
/apppool.name: $SiteAppPools
/recycling.periodicRestart.time:1.00:00:00 
        #启用.net32模式 
        .$Env:windir\system32\inetsrv\appcmd.exe set config
/section:applicationPools
/[name=”‘$SiteAppPools'”].enable32BitAppOnWin64:$net32Or64
        #是或不是自动运维 
        .$Env:windir\system32\inetsrv\appcmd.exe set config
/section:applicationPools /[name=”‘$SiteAppPools'”].autoStart:$true
    } 

   
#创办IIS应用站点 
function BuildSite(){ 
    $appSitePath = “iis:\sites\”+$SiteName
    $existweb = Test-Path $appSitePath
    if(!$existweb) 
    { 
        New-Website -name $SiteName -port $sitePort  -ApplicationPool
$SiteAppPools -PhysicalPath $WebSitePath
      .$Env:windir\system32\inetsrv\appcmd.exe set site $SiteName
/bindings:”http/*:80:$HostHeader1″ # 私下认可张开五个域名加80端口
暗许全数IP
      #.$Env:windir\system32\inetsrv\appcmd.exe set site $SiteName
/bindings:”http/*:80:$HostHeader1,http/*:80:$HostHeader2″ #
能够增进多域名访谈通一个网址 重新恢复设置暗中认可端口80
      # New-WebBinding -Name $SiteName -IPAddress “*” -Port $sitePort
-HostHeader $HostHeader1 # 端口号加域名访谈 依据实情修改
        .$Env:windir\system32\inetsrv\appcmd.exe set config
/section:directoryBrowse /enabled:false   
    } 
    else{ 
    echo “‘$SiteName’ is Already exists”
    } 

   
#设置IIS日志记录路线 
function CreatIISLogFile(){ 
    .$Env:windir\system32\inetsrv\appcmd.exe set site $SiteName
“-logfile.directory:$IISLogFile”

   
   
function RunBuild(){ 
    BuildAppPool 
    BuildSite     
    CreatIISLogFile 
    .$Env:windir\system32\inetsrv\appcmd.exe start site $SiteName

RunBuild

应用命令行管理IIS
7.0时,须要动用IIS7.0提供的全新处理工具AppCmd.exe。AppCmd.exe工具得以做到web服务器的全不管理专门的学业。利用AppCmd.exe工具,不仅能够通过命令行提醒到位挂历专门的学问,也得以经过脚本完成处总管业。利用AppCmd.exe工具,能够产生以下专门的工作:

导入应用程序池的点子: 
%windir%/system32/inetsrv/appcmd
add apppool /in < c:/apppools.xml

运用格局
1、能够流传全部参数
ansible-playbook -i hosts  web.yml -verbose –extra-vars “host=test
sitePort=9002 SiteName=ttyykk SiteAppPoolsModel=Integrated
managedRuntimeVersion=v4.0 WebSitePath=D:\werwerw
HostHeader1=www.qkaxml.com defaultDocument=index.htm
IISLogFile=d:\LogFiles net32Or64=false”
2、遵照景况传入参数 比如
网址名字 数据贮存地点 域名等  可以依赖实情修改。
 ansible-playbook -i hosts  web.yml -verbose –extra-vars “host=test
SiteName=linuxidc WebSitePath=D:\linuxidc.com HostHeader1=

1、加多、删除、修改web网址和选择程序池

如此那般就足以将全方位的利用程序池都导入到另七个服务器中了.

全体项目 附件到Linux公社财富站下载:

2、结束,运营web网址和使用程序池

导出全部站点的章程:
%windir%/system32/inetsrv/appcmd
list site /config /xml > c:/sites.xml

——————————————分割线——————————————

3、观望工作进程和伏乞音信

无差距于,大家须要编写制定sites.xml文件删除无需的站点.如:
Default
Website

免费下载地址在

4、一列表方式展现IIS和ASP.NET的铺排新闻,并帮忙对IIS和ASP.NET的布局新闻实行更改

导入站点的格局:
%windir%/system32/inetsrv/appcmd
add site /in < c:/sites.xml

用户名与密码都以www.linuxidc.com

AppCmd.exe工具提供了三个直接的命令集,利用该命令集,针对接受援救助的靶子类型,能够实行查询操作并产生部分别样职责,不仅能够段杜运营这一个命令,也足以讲命令进行组会集欲行命令组合,进而得以推行复杂的任务,完毕复杂的查询专门的学业,如表:

迄今结束,导入职业成就了,看看两台服务器的IIS配置一样了吧. 

具体下载目录在 /二〇一六年龄资历料/12月/二十日/利用Ansible批量成立IIS站点/

对象名称 描述
site 管理虚拟网站
app 管理应用程序
vdir 管理虚拟目录
appool 管理应用程序池
config 挂历通用配置文件
wp 挂历工作进程
request 管理http请求
module 管理服务器模块
backup 管理服务器配置备份
trace 管理失效请求跟踪日志

别的,介绍下单独导出导入一个站点的办法
导出单独行使程序池:
%windir%/system32/inetsrv/appcmd
list apppool “应用程序池名称” /config /xml >
c:/myapppool.xml
肉桂色字体的正是要导出的施用程序池名称 

下载情势见
http://www.linuxidc.com/Linux/2013-07/87684.htm

AppCmd.exe工具帮忙的一声令下:

导入单独选择程序池:
%windir%/system32/inetsrv/appcmd
add apppool /in < c:/myapppool.xml

——————————————分割线——————————————

add

导出单独站点:
%windir%/system32/inetsrv/appcmd
list site “站点名称” /config /xml > c:/mywebsite.xml 
色情字体的正是要导出的站点名称 

正文永远更新链接地址:http://www.linuxidc.com/Linux/2016-11/137611.htm

clear

导入单独站点:
%windir%/system32/inetsrv/appcmd
add site /in < c:/cnziben.com.xml

澳门金沙国际 1

configure

参考:

delete

inspect

install

list

lock

migrate

recycle

reset

restore

search

set

start

stop

uninstall

unlock

AppCmd命令

温馨提示:命令总是位于对象在此以前,而属性总是位于对象之后,这样就能够透过创造二个好像于一条语句的布局,在这些布局中,appcmd.exe通告对象做某一件事。

  list      列出利用程序池
  set       配置利用程序池
  add       增加新利用程序池
  delete    删除应用程序池
  start     运行应用程序池
  stop      停止利用程序池
  recycle   回收利用程序池

1、列出贰个目的具有实例

appcmd.exe list app

2、列出有一无二的对象实例

appcmd.exe list app “Default Web Site/”

3、列出满意一定准绳的对象实例

appcmd.exe list app /apppool.name:”defaultapppool”

4、列出目的的详细消息

appcmd.exe list app “default web site/”/text:*

5.列出全体XXX应用程序池的应用程序

appcmd.exe list app /text:/apppool.name:XXX

6、列出网址的铺排消息

appcmd.exe list site “default web site “/config

7、改造应用程序池

appcmd.exe set app “default web site/”     /applicationpool:”XXX” 

8、增添新的施用程序池

appcmd.exe add apppool /name:”XXX”

9、删除应用程序池

appcmd.exe delete apppool /apppool.name:”XXX” 

10、列出全体的使用程序池的详细消息

appcmd.exe list apppool

11、查询全体应用程序池状态为started的

appcmd.exe list apppools /state:started

12、关闭内定应用程序池

appcmd.exe stop appPool /appPool.name:”XXX”

13、开启钦命应用程序池

appcmd.exe start apppool /apppool.name:”XXX”

14、监视当前的哀告

appcmd.exe list request

request对象足以行使性质来找到特定的音讯,通过动用性质,能够回到摸个运维时刻(以微秒总计)超越预设值的网址、应用程序池、专门的学问进度、U福特ExplorerL,           
以及呼吁的音信。request对象所利用的习性富含:

依附网址ID的伸手

appcmd.exe list request /site.id:1

听新闻说应用程序池的乞请

appcmd.exe list request /apppool.exe:DefaultAppPool

依附专门的职业进度的呼吁

appcmd.exe list request /wp.name:”1044″

据他们说网址名称的哀告

appcmd.exe list request /site.name:”Default web Site”

依附进度运营时刻的央浼

appcmd.exe list request /elapsed:”1000″

15.站点备份与回复

备份站点:

appcmd.exe add backup backupname

列出备份:

appcmd.exe list backup

回复备份

在苏醒一个备份时,IIS结束运维,并且重写服务器的境况。一旦配置文件被重写,IIS随即重新启航。固然不希望IIS甘休运维一碗水端平复开动,那么能够是使用/stop:false。那样,就可以在相当的时光手动甘休IIS运转,并手动重新启航IIS

appcmd.exe restore backup  /back.name:”XXX” /stop:false

appcmd.exe  restore backup /backup.name:”XXX”

剔除备份

appcmd.exe relete backup  XXX

16、列出服务器的完整布署新闻

appcmd.exe list config

列出暗许Web网址的布局

appcmd.exe list config “Default Web Site/”

当须求出示私下认可web网址的配置内容时,为了削减展现内容,能够实践

appcmd.exe list config “Defaul Web Site/”  /section:system.net/settings

取得具备可用节点

appcmd.exe list config -section:?

17、编辑配置节点音讯

eg1: 启用全局IPv6

appcmd.exe set config  /section:system.net/settings -ipv6.enabled:”true”

eg2:在大局配置中启用了IPv6,未来要在暗中同意的web中引用IPv6

appcmd.exe set config  “” /section:system.net/settings
-ipv6.enabe:”false”

列出节点会集

appcmd.exe list config /section:httpErrors

编写制定节点集合

eg:把401谬误页面有”401。htm”修改为”defaulterror.htm”

通过运用加号(+)也许叁个减号(-)增添 活删除成分

删除503状态码

appcmd.exe set config /section:httpErrors /-[statusCode=’503′]

appcmd.exe set config /section:httpErrors /
[statusCode=’401′].path:defaulterror.htm

18、对布置举办加锁和平消除锁

解锁:

appcmd.exe unlock config “default web site”
/section:system.web/authentication

加锁:

appcmd.exe lock config “default web site”
/section:system.web/authentication

19、使用管道传送XML数据

能够在appcmd list
中选拔/xml修饰符来创制复杂的职分,还可以实行大范围的批处监护人业。利用/xml修饰符,能够讲三个查询的结果导出并保存到一个标准XML格式的公文中,进而使其余命令行工具也许shell命令能够运用这么些XML文件。举个例子,为了列出全体已启用的运用程序池,并将新闻保存到三个正经的XML文件中,实施以下命令:

appcmd.exe list apppool /state:started /xml

你大概感兴趣的稿子:

  • IIS日志清理(CMD版,VBS版,JS版,WSH版)
  • windows服务器通过appcmd完毕IIS备份、还原、查看的一声令下(适用IIS8在此以前版本)
  • IIS下选择appcmd批量搭建网址

相关文章