天天看点

使用cmd命令在IIS上部署Asp.Net core网站

    由于是外包项目需要实施人员去现场部署IIS网站,所以就想做个批处理文件去一键执行安装部署IIS网站。于是就有了这篇文章。废话少说先上代码。

echo Please use administrator privileges to run.
::请使用管理员权限执行
cd /d %~dp0
::站点名称
set name="test"
::绑定域名和端口号
set domain=*:5000
::网站源文件物理路径
set physicalPath="%cd%\web"

::设置权限
echo Y|cacls %physicalPath% /T /G Everyone:F
::删除同名网站
%systemroot%/system32/Inetsrv/APPCMD.exe delete site /site.name:%name%
::删除同名程序池
%systemroot%/system32/Inetsrv/APPCMD.exe delete AppPool /AppPool.name:%name%
::添加程序池
%systemroot%/system32/Inetsrv/APPCMD.exe add AppPool /name:%name% /managedRuntimeVersion:""
::添加网站
%systemroot%/system32/Inetsrv/APPCMD.exe add site /name:%name% /physicalPath:%physicalPath% /bindings:"http/%domain%:"
::设置程序池
%systemroot%/system32/Inetsrv/APPCMD.exe set site /site.name:%name% /[path='/'].applicationPool:%name%

pause
           

    注释应该写的比较清楚了,这里就不再逐条说明了。由于我的网站是.net core所以应用程序池配置的CLR是""对应IIS里显示的是【无托管代码】。

    不知道该设置什么属性什么值的时候这里有个技巧:就是可以先手动在IIS里设置一遍,然后通过"/config"命令查看手动设置的参数就知道代码设置的参数名称和对应的值了。

    关于AppCmd.exe命令这里就不再展开说了。推荐一篇文章《IIS7全新管理工具AppCmd.exe的命令使用》里面都有。其实和用"/?"查出来的差不多。