cmd 批处理创建 IIS 站点
windows 创建站点命令 appcmd
C:\Windows\System32\inetsrv\appcmd.exe SITE 虚拟站点的管理 APP 管理应用程序 VDIR 管理虚拟目录 APPPOOL 管理应用程序池 CONFIG 管理常规配置节 WP 管理工作进程 REQUEST 管理 HTTP 请求 MODULE 管理服务器模块 BACKUP 管理服务器配置备份 TRACE 使用失败请求跟踪日志 list 列出应用程序池 set 配置应用程序池 add 添加新应用程序池 delete 删除应用程序池 start 启动应用程序池 stop 停止应用程序池 recycle 回收应用程序池
1、示例:删除 IIS 默认 站点
:: 删除默认站点 C:\Windows\System32\inetsrv\appcmd.exe delete site "Default Web Site"
2、创建应用程序池 web1 web2 web3
C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"web1" /managedRuntimeVersion:"v4.0" C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"web2" /managedRuntimeVersion:"v4.0" C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"web3" /managedRuntimeVersion:"v4.0"
设置应用程序吃线程:
/queueLength:"50000"
设置应用程序池回收时间:
<add name="test" queueLength="50000" managedRuntimeVersion="v4.0"> <processModel idleTimeout="10:00:00" /> <recycling> <periodicRestart time="00:00:00" /> </recycling> </add>
优化 IIS 参数:
3、创建站点
:: C:\Windows\System32\inetsrv\appcmd.exe add site /name:"web1" /bindings:http/*:80: /applicationDefaults.applicationPool:"web1" /physicalPath:"D:\wwwroot\web1"
:: C:\Windows\System32\inetsrv\appcmd.exe add site /name:"web1" /bindings:https/*:443: /applicationDefaults.applicationPool:"web1" /physicalPath:"D:\wwwroot\web1"
:: 站点名称: web1
:: 站点端口: 80
:: 应用序池选择: web1
:: 站点目录: "D:\wwwroot\web1"
C:\Windows\System32\inetsrv\appcmd.exe add site /name:"web1" /bindings:"http/*:80:,https/*:443:" /applicationDefaults.applicationPool:"web1" /physicalPath:"D:\wwwroot\web1"
:: 同时创建 http https 的站点
C:\Windows\System32\inetsrv\appcmd.exe add site /name:"web2" /bindings:https/*:10443: /applicationDefaults.applicationPool:"web2" /physicalPath:"D:\wwwroot\web2"
:: 创建 web2
4、添加 站点应用程序
C:\Windows\System32\inetsrv\appcmd.exe add app /site.name:"web1" /applicationPool:"web3" /path:"/web3" /physicalPath:d:\wwwroot\web3 :: 在 web1 站点下添加应用程序 :: 应用程序 名称 web3 :: 应用程序 选择 应用程序池 web3 :: 应用程序 指向目路 d:\wwwroot\web3
5、添加虚拟目录
C:\Windows\System32\inetsrv\appcmd.exe add vdir /app.name:"web1/" /path:"/html" /physicalPath:"D:\wwwroot\html" :: 在 web1 站点下添加虚拟目录 :: 虚拟目录 名称 html :: 虚拟目录 指向目路 d:\wwwroot\html C:\Windows\System32\inetsrv\appcmd.exe add vdir /app.name:"web1/web3" /path:"/html2" /physicalPath:"D:\wwwroot\html2" :: 在 web1 站点下的 应用程序 web3 下 添加虚拟目录 :: 虚拟目录 名称 html2 :: 虚拟目录 指向目路 d:\wwwroot\html
6、关闭默认站点 启动新站点
C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site" :: 停止 默认站点 示例 C:\Windows\System32\inetsrv\appcmd.exe appcmd start site "web1" C:\Windows\System32\inetsrv\appcmd.exe appcmd start site "web2" :: 启动 web1 web2 站点
7、cmd 添加防火墙端口
@netsh advfirewall firewall add rule name=iis dir=in action=allow protocol=tcp localport=80,443
:: 添加防火墙开放 80 443 ,名称 iis
8、导入证书
@certutil -f -importPFX -p passwd D:\cert\server.pfx
:: 导入证书
:: -p 密码
:: 证书路径 D:\cert\server.pfx
9、删除虚拟目录
'C:\Windows\System32\inetsrv\appcmd.exe delete vdir "site/file1"'
# 删除 site 站点下的 file1 虚拟目录。
10/站点创建示例:
IIS 设置之后生成的配置文件‑ྟ; C:/Windows/System32/inetsrv/config/applicationHost.config
:: 创建站点名 web :: 创建站点 链接超时 10s @C:\Windows\System32\inetsrv\appcmd.exe add site /name:"web" /bindings:"http/*:80:,https/*:443:" /applicationDefaults.applicationPool:"1" /physicalPath:"D:\wwwroot\web" /limits.connectionTimeout:"00:00:10" :: 创建 应用程序池 1 2 3 ,队列长度 5000, 回收固定时间间隔0 进程闲置超时 60
:: 创建应用程序池
@C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"1" /managedRuntimeVersion:"v4.0" /queueLength:"5000" /recycling.periodicRestart.time:00:00:00 /processModel.idleTimeout:01:00:00
@C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"2" /managedRuntimeVersion:"v4.0" /queueLength:"5000" /recycling.periodicRestart.time:00:00:00 /processModel.idleTimeout:01:00:00
@C:\Windows\System32\inetsrv\appcmd.exe add apppool /name:"3" /managedRuntimeVersion:"v4.0" /queueLength:"5000" /recycling.periodicRestart.time:00:00:00 /processModel.idleTimeout:01:00:00