.net core服務程序在windows server上的部署


最近因為項目上的需要,使用.net core寫了一個服務,用於指定word模板文件與數據,完成數據的填充(word讀寫使用npoi)與格式轉換(使用aspose,將word轉pdf)。之所以選擇用.net core就是考慮到跨平台部署的問題。

1、遠程至服務器(以172.16.170.75為例), 安裝iis:控制面板-》程序-》啟用或關閉windows功能,把internet information service下的iis管理控制台等都安裝上;

 

 

 

2、安裝.net core運行時:https://dotnet.microsoft.com/download  官網選擇對應版本(注意我們是在服務器上部署,所以要在Run server apps 區域,選擇Download Hosting Bundle):

 

 

 

3、啟動iis管理器,如果在“模塊” 中能看見AspNetCoreModuleV2表示安裝成功;

 

 

 

 

4、在iis里新建網站:“網站”-》右鍵“添加網站”-》,網站名可自定,便於記憶即可,如“PdfService”;端口號輸入5000(或者其他,根據需要自定)將物理路徑指向pdf服務在windows server上的存放目錄;

 

 

5、將網站對應的應用程序池(默認情況下,iis會自動創建一個跟網站同名的應用程序池PdfService)的.NET CLR版本改為無托管代碼;

 

  6、正常情況下,此時服務應該就可以訪問了。可在瀏覽器中輸入地址測試: http://172.16.170.75:5000/api/pdf/1  如果能返回值即可。

8、安裝字體。由於我們的服務使用word作為模板, 用到的字體在服務器上不一定全,因此需要把涉及到的字體安裝到服務器。這個比較簡單,直接copy到服務器上,右鍵安裝即可。

 

 

-----踩坑記錄(2021-06-07)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

某個生產環境:windows server R2版本(服務器不能訪問互聯網),安裝完成后,服務死活不行,報錯500.21。估計是安裝的時候無法安裝完整的引用文件導致的。

最后參考了這篇文章解決: win2012 R2 配置 net core3.1 iis站點發布_lyfclear的專欄-CSDN博客

去微軟官方網站下載離線安裝文件,copy到服務器安裝即可。

 

-----踩坑記錄(2021-09-17)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

某個生產環境,突然出現服務不可訪問的情況,報錯500.30,An error occurred while writing to logger(s). 日志提示 事件日志文件已滿。但實際上磁盤空間足夠。

 

 

 最后解決方案:修改服務對應的應用程序池中的“加載用戶配置文件”為“TRUE”,問題解決。事實上該值默認就是“False”,在其他測試服務器上,該值均為False一直都沒有問題。有點奇怪,先記錄一下。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM