天天看點

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

繼續閱讀