1. 程式人生 > >使用cmd命令在IIS上部署Asp.Net core網站

使用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的命令使用》裡面都有。其實和用"/?"查出來的差不多。