最近遷移項目Asp.Net.MVC 到Asp.NetCore3.0 .MVC 上,基本能夠看頁面效果了,合計今天先在Windows服務器上部署一下,看看效果;
一、環境准備:
(純凈windows 環境)Windows Server 2008r 2 64 位 (sp1); NetCore 3.0 發布文件
二、環境配置
1、開啟 IIS,
打開:【開始菜單--管理工具】服務器管理器--》選擇角色--》添加角色--》(添加角色向導) 選擇下一步--》勾選 服務器角色:web 服務器(IIS)--》自定義選擇自己想要添加的角色服務(不確定時,使用默認勾選,后期再修改)--》選擇完成后,下一步,安裝;
補充:本次操作新增勾選角色服務:(1)、應用程序開發:Asp.Net 、.Net擴展性;(2)、健康診斷:Http日志記錄、請求監視;(3)、安全性:進步身份驗證、Windows 省份驗證、(4)、管理工具:IIS管理控制台、IIs6 管理兼容性(5)、IIs可承載web 核心。
當提示安裝完成,可以測試iis 是否正常安裝:瀏覽器 訪問 http://localhost 有頁面即 可;
修改IIS 角色服務選項:在服務器角色中,選擇添加角色服務即可編輯;
2、安裝環境支持配置:
(1)、安裝.net FrameWork 4.5
(2)、安裝補丁:針對 Windows 7 /Windows Server 2008r2 補丁:Windows6.1- KB2999226 、Windows6.1-KB4019990
說明: 本次部署配置,因沒有安裝補丁 Windows6.1- KB2999226,安裝完VC++2015、 Core 運行時后 Core 項目無法打開,
使用dotnet 命令查看Core 安裝信息,提示:無法定位程序輸入點ucrtbase.terminate於動態鏈接庫api-ms-win-crt-runtime-|1-1-0.dll
查找資料發現,必須有補丁Windows6.1- KB2999226 (https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=49093)支持,否則不成功;
於是,安裝完該補丁后,重新安裝VC++2015 正常。
(3)、安裝Microsoft Visual C++ 2015 Redistributeble 14.0.23026 --此處可以安裝 VC++2015 更高版本,因測試該版本測試正常,沒有再測試其他版本;
(4)、 【AspNetCoreModuleV2 支持】安裝Core RunTime 及Hosting 支持:---》檢測方式:在IIS管理器里,隨便找一個站點,在功能視圖內,查看 IIS 模塊---》分組依據:條目類型---》AspNetCoreModult V2 ----找不到,就安裝。
開發項目使用的是 VisualStdiu 2019 16.4, 此處下載使用的Core runtime為 dotnet-hosting-3.1.3-win 【打包版,基本挺全】
aspnetcore-runtime-3.0.3-win-x64.exe 64位:(https://download.visualstudio.microsoft.com/download/pr/ff658e5a-c017-4a63-9ffe-e53865963848/15875eef1f0b8e25974846e4a4518135/dotnet-hosting-3.1.3-win.exe)
aspnetcore-runtime-3.0.3-win-x86.exe 32位:(https://download.visualstudio.microsoft.com/download/pr/289dff4e-eec9-4d2f-9b4b-fe7524e89e79/db4900dcf54b4bb7dcc8beecb5634695/aspnetcore-runtime-3.0.3-win-x86.exe)
(https://download.visualstudio.microsoft.com/download/pr/207c4791-a366-4d35-96ed-0bbe10a683d3/1ca408df70ca668ea8e8ec36d2aedf48/aspnetcore-runtime-3.0.3-win-x64.exe)
(5)、以上處理完成后,測試Core 運行時是否正常: 打開cmd 窗口,輸入 dotnet --》正常 展示 安裝core 版本信息;
(6)、部署Core 發布文件到 IIS 上,打開iis 管理器(Win +R ---》 inetmgr ):點擊網站--》添加網站--》 輸入網站名稱、選擇或者粘貼項目物理 文件路徑、站點綁定信息自定義 ---》確定----》打開應用程序池---》選擇剛才創建的網站應用程序池----》選中后右鍵 基本設置--》設置.Net FrameWork 版本為無托管代碼----》檢查當前應用程序高級設置:啟用32位應用程序:False。(設置為true 頁面將展示:Http 錯誤 503.0-Server Unavailable 錯誤代碼:0x800804e7 )
(7)、到此,基本配置完成,站點能夠訪問。
三、遺留問題(--2020-04-07 19:20更新)
因部署的項目使用國產數據庫 達夢(DM8 )進行數據存儲,達夢數據庫在服務器上已經安裝成功;但是在項目在訪問數據庫展示數據過程中,頁面報錯!
項目記錄日志:【主庫】狀態不可用,等待后台檢查程序恢復方可使用。Error 【IM003】 由於系統錯誤,拒絕訪問。(DM8 ODBC Driver ,C:\dmdbms\bin\dodbc.dll),指定驅動程序無法加載。
頁面展示異常信息:
Error . An error occurred while pricessing your request.
Development Mode Swapping to the Developement environment displays detailed information about the error that occured.
The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users .For local debugging ,enable th Development enviroment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.
對於上述問題,從日志信息看出是由於沒有獲取到相應數據導致,通過跟蹤代碼,發現無法連通數據庫;本地通過dotnet 命令部署正常;IIS上失敗!
解決方案:打開IIS 中部署站點應用程序池,查看高級設置----》設置 :進程模型-----》LocalSystem ;----->問題解決。
無奈,無法截圖到外網,只能通過文字進行一些記錄了。
歡迎點贊!轉載請注明出處!
