1. 程式人生 > >釋出asp.net core 應用 在IIS

釋出asp.net core 應用 在IIS

         近期由於工作原因,需要釋出.net core框架下的webapi到IIS上。遭遇了一番蹂躪,特此記下,以備後面使用。

首先工作中有2個服務。一個是identityserver4的服務,負責token的發放,一個是我們的業務webApi。

當客戶需要呼叫我們的webapi時,要先到identityserver4上去申請一個token。然後使用這個token來訪問我們的webapi。

      授權伺服器identityserver4,是開源的。在git上可以直接獲得。是基於.net core 開發的。我用的是基於.net core 1.0的。

下面它的部署就登場了。建議使用微軟提供的文件。文件地址

https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

文件最後面有常見問題Common errors 和解決方式 Troubleshooting。  

    由於伺服器是server2012 ,所用的iis版本為8.5.支援 本身支援 .net 4.5

1.安裝iis webserver

2  安裝 .net core windows server hosting bundle

   注意安裝完畢之後,重啟伺服器,或者執行 net stop was /y followed by net start w3svc from a command prompt to pick up a change to the system PATH

否則,會報 

  • 502.3 Bad Gateway - There was a connection error while trying to route the request

雖然在文件中的troubleshooting裡提到,但是根據那個解決不了問題。還是得靠重啟。 或者那個命令。

3  安裝.net core  執行時庫,我安裝的.net core sdk

在cmd裡面執行 dotnet可以驗證安裝是否正確。

4 將vs裡釋出的包,放入iis裡,很普通的網站釋出一樣。

但是應用程式池 裡 .net 框架 要選擇 無託管程式碼。

第二個 webapi的釋出和一般的mvc的web釋出一樣。

5 如果報 500 內部錯誤或者webapi沒有正確 記錄日誌,請檢視日誌的配置,以及iisuser對資料夾的許可權。

這和其他網站釋出沒有區別。