asp.net core 托管到windows服務,並用iis做反向代理


使用NSSM把.Net Core部署至 Windows 服務

 

為什么部署至Windows Services

在很多情況下,很少會把.Net Core項目部署至Windows服務中,特別是Asp.net Core就更少了。一般情況下,Asp.net Core會部署至linux服務器,或者部署至Windows的IIS中。但也不排除會有Asp.net Core部署至Windows 服務中的情況,比如Windows服務器並沒有安裝IIS,或者Asp.net Core中存在一些定時任務,需要實時運行,等等一些情況。 

 

微軟解決方案

微軟也提供了.Net Core部署至Windows 服務的解決方案,應該說是Asp.net Core的解決方案。可以參看官方文檔 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1&tabs=aspnetcore2x。但是官方的解決方案比較繁瑣,而且需要更改部分代碼。

 

什么是NSSM?

官網http://www.nssm.cc/,下載地址http://www.nssm.cc/download

簡單點理解就是NSSM可以把一些exe程序封裝成Windows服務,然后exe程序就像服務一樣運行。而且NSSM功能強大,運行更簡單,界面化傻瓜化處理方式。

 

使用NSSM

后面的代碼演示以Asp.net Core 2.1作為演示,其他.Net Core方式一致。

1、確保.Net Core程序可以正常運行

先把Asp.net Core發布,然后直接運行dotnet命令,確保程序可以運行並訪問

 

2、使用NSSM安裝dotnet

下載NSSM,使用命令窗口至NSSM目錄中找到nssm.exe所在的目錄,然后運行nssm install,然后會彈框,選擇相應的文件和文件夾。

Path:dotnet所在的目錄,一般默認是在C:\Program Files\dotnet\dotnet.exe;

Startup directory:程序所在的目錄,就是最后程序dll所在的目錄;

Arguments:程序dll的名稱,一般是項目名加上.dll;

Service name:在此寫上服務的名稱即可。

然后點擊Install service按鈕就完成了部署。

最后到Windows服務管理界面找到安裝的服務名稱,右鍵啟動即可,這樣就可以非常簡單的把.Net Core托管至Window服務中。方便管理、啟動、停止等等。

以上轉載自:

作者:Emrys 
出處:http://www.cnblogs.com/emrys5/ 

配置IIS做反向代理

 

下載安裝Application Request Routing: https://www.iis.net/downloads/microsoft/application-request-routing

1、安裝成功后重新打開iis控制台,在iis面板上會多出URL重寫和ARR組件圖標:
 
 
2、在IIS左邊點擊根節點找到上圖中的 第一個紅圈中圖標雙擊打開,然后點擊右邊的Proxy 下面的  Server Proxy Settings.

 

3、直接勾選上下圖的紅圈的地方,其他不用管

 

 

 

 

 

4、在IIS中新建站點--TestWeb

 

5、點擊IIS左邊菜單中新建的站點TestWeb,在右邊功能視圖中雙擊"URL重寫"模塊打開。

 

6、點擊右上邊操作欄中的“添加規則”,彈出如下圖的彈框,然后雙擊彈框中的“反向代理”。

 

7、然后將要轉發的域名或者ip地址填入進去,然后點擊確定,現在訪問TestWeb的地址即可發現以轉發到剛填入的地址中了

 

 

 

 


免責聲明!

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



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